第七章


文章目录

  • 第七章
  • 一、以太坊上的数字资产定义
  • 二、发行和流通
  • 三、ERC 20代币合约标准
    • 1、ERC 20标准接口
    • 2、现有的ERC 20标准代币
  • 三、ERC 721代币合约标准
    • 1、标准定义
    • 2、CryptoKitties DAPP

一、以太坊上的数字资产定义

以太坊设计的目标就是让各种数字资产能以智能合约的形式运行在以太坊虚拟机上。目前,众多智能合约中最广泛应用的是代币合约(Token Contract)。是负责管理账户以及其拥有的代币的智能合约,实质可以理解为一张账户地址和对应账户代币余额的映射表。
即:代币可以被称为一种资产,代币合约就是一份账本。

二、发行和流通

代币具有转账、铸币、销毁等基本功能,代币合约还可以加入数字资产的查询、权限控制,升至经济学公式计算等功能。

三、ERC 20代币合约标准

ERC 20代币合约标准规定了一个以太坊合约所需要实现的函数功能和事件记录。该标准满足了代币作为数字资产所必需具备的一些基本功能和要求,如代币名称、代币转账、本账户允许链上第三方使用的代币限额等。这个标准使种类繁多的代币能够被更多的去中心化应用、交易所等兼容。

1、ERC 20标准接口

11个标准接口,分为三类:常量、功能函数以及事件。

  • 常量:常量接口包含代币名称、代币符号和小数点位。
    代币名称(name):由代币合约创建者指定的完整名称,一串公开的字符串常量,如CarToken。符合ERC 20标准的代币可以向交易所提供代币名称进行注册,交易所通过注册机制可以检查并保证代币名称与代币合约一一对应,类似于ENS。
    代币符号:
    代币符号(symbol):代币合约创建者指定的代币简称,一串公开的字符串常量。一般由3~4个大写字母组成,便于标识该代币,如EXT。与代币名称相同,它可以在交易所中注册。
    小数点位(decimals):由代币合约创建者指定的一个公开的无符号整数常量,用于指定代币的最小精度值。一般是18.
  • 函数功能包括总供应量、余额、转账、从他人处转账、允许量值以及限额6个功能函数。
    总供应量:totalSupply():用于查看代币当前的总供应量。返回值为无符号整数常量。
    余额balanceOf():查看当前合约中指定账户的代币余额。返回值为账户代币余额,无符号整数常量。
    转账transfer():从当前账户向其他账户进行代币转账。返回值为bool类型。
    从他人处转账transferFrom():从他人账户向其他账户进行代币转账。输入参数为:发起地址、目标地址以及转账数额。返回值bool类型。
    允许量值approve():设定当前账户对指定账户的允许转账量值(allowed)。输入参数:代币使用方地址和允许使用的额度,返回值bool类型。allowed是一个二元组。
    限额allowance():用于查看当前allowed值。输入参数:代币持有方A的地址和代币使用方B的地址,返回值:allowed[A][B].
  • 事件:至少两个事件:转账和允许。
    转账transfer()用于记录代币合约最基本的功能–转账。
    允许approval()用于记录代币合约的进阶功能–允许他人从本账户转出代币。

2、现有的ERC 20标准代币

EOS、REP、BAT

三、ERC 721代币合约标准

1、标准定义

不可替代代币(NFT)的合约接口。最小单位为个,即ERC 20标准中对应小数点位的decimal值为0.每个代币都是独一无二的。每个代币拥有各自的_tokenId标号,并可以附上一些各不相同的特征值。
相比ERC 20增加了一些功能函数:ownerOf()和tokenOfOwnerIndex()分别根据代币ID查询该代币的持有者,以及根据持有者以及其索引查询所持有的代币ID。transferFrom()变更为takeOwnership(),tokenMetadata()函数查看代币的元数据等,根据代币deId查询一个URL格式字符串,包括这一代币的名称、图像、描述等。

2、CryptoKitties DAPP

养猫游戏。小猫代币。

以太坊数字资产的发行和流通:以太坊上的数字资产定义、ERC 20代币合约标准、ERC 20标准接口、ERC 721代币合约标准、相关推荐

  1. android 调取数字键盘,如何在android中的EditText上显示数字键盘?

    如何在android中的EditText上显示数字键盘? 我只是想在某个EditText具有焦点时立即切换到数字键盘模式. 13个解决方案 239 votes 您可以为EditText配置EditTe ...

  2. 一文读懂数字人民币的发行原因与特性 |链捕手

    在数字人民币的发行细节接连被披露后,数字人民币在公众群体中的影响力已经大幅提升,还多次登上了微博热搜榜第一名.距离数字人民币正式发行的时间越来越近,但公众对数字人民币的认知仍然存在许多疑惑与误区,链捕 ...

  3. 以太坊上的数字资产基金管理应用:Melonport 绿皮书

    Melon(梅隆)协议是一种以太坊上的数字资产管理的区块链协议,它允许参与者用公开.竞争和去中心化的方式发起.管理和投资数字资产.Melon协议在以太坊上的Dapp代币MLN(梅隆币)已经在Krake ...

  4. 手把手教你发行自己的以太坊ERC20 Token 并进行转账

    代币Token 如果不那么追求精确的定义,代币就是数字货币,比特币.以太币就是一个代币. 利用以太坊的智能合约可以轻松编写出属于自己的代币,代币可以代表任何可以交易的东西,如:积分.财产.证书等等. ...

  5. 以太坊区块链也拥堵_后以太坊1.0众生相:DeFi拥堵,突围Layer2

    不知不觉,我们已经走到了一个「后ETH1.0时代」.从使用体验上,ETH1.0已经不能很好地满足用户的需求:仅仅是DeFi应用,就让其走向了史无前例的.不可忍受的拥堵.然而,孕育了数年的ETH2.0却 ...

  6. 以太坊服务器是什么_什么是以太坊的域名服务

    前言:以太坊域名服务带来了eth收付款的便利,让人们可以摆脱笨重的字母和数字字符串,但是与此同时,它对隐私提出更高的挑战.人们通过这些以太坊域名和链上的数据流向,可以窥探和推理出更多背后的秘密.当然, ...

  7. 以太坊服务器是什么_今日推荐 | 以太坊独立地址数破亿,持有ETH地址数达4000万意味着什么?...

    免责声明:本文旨在传递更多市场信息,不构成任何投资建议.文章仅代表作者观点,不代表火星财经官方立场. 小编:记得关注哦 来源:链闻独家 原文标题:以太坊独立地址数破亿,持有 ETH 地址数达 4000 ...

  8. 一个数字几个字节_技术工坊40期-DAG技术特性以及在字节雪球Obyte项目的使用实践...

    1. 活动基本信息 1)题目: [区块链技术工坊40期]DAG技术特性以及在字节雪球Obyte项目的使用实践 2)议题: 字节雪球Obyte(原名Byteball):一个基本于DAG技术的去中心化分布 ...

  9. 以太坊源码深入分析(9)-- 以太坊通过EVM执行交易过程分析

    上一节分析了同步一个新的区块准备插入本地BlockChain之前需要重放并执行新区块的所有交易,并产生交易收据和日志.以太坊是如何执行这些交易呢?这就要请出大名鼎鼎的以太坊虚拟机. 以太坊虚拟机在执行 ...

最新文章

  1. 白天鹅黑天鹅灰天鹅?手把手教你用卷积神经网络搞定识别
  2. 华硕服务器 u盘安装系统,华硕用u盘如何安装系统
  3. spring原始注解
  4. JAVA——Scanner类绑定System.in后调用close()方法所引发的错误及其解决方案
  5. 7.Java中变量的隐式转换以及强类型转换
  6. 运行时数据区(Run-Time Data Areas)
  7. 深入理解C++内存管理
  8. PHP在Tomcat中CSS出错,tomcat找不到css怎么办
  9. centos apache 腾讯云ssl证书配置
  10. python---单元测试
  11. BlackBone工具集合:注入、hook、驱动程序
  12. 单片机 最小系统原理图
  13. Linux 常用命令和快捷键
  14. java商品详情查询_商品详情页面的显示
  15. 解决Visual Studio 2015创建工程时的“DNX SDK version 'dnx-clr-win-x86.1.0.0-beta5' failed to install.”错误
  16. 3D游戏引擎架构设计基础 - 学堂在线慕课习题答案
  17. 回答审稿意见的一个简单的模板
  18. mysql 唯一序列号_利用mysql生成唯一序号
  19. 1128_AURIX_TC275的基本参数了解
  20. 微信第一个小程序----------EGO微商小程序部署搭建

热门文章

  1. Ubuntu16.04无法连接Wifi解决方案 (绝对有效)
  2. 电脑回收站里不小心清理删除的文件怎么恢复?
  3. 一年前,没有Android,我还是一个游戏开发者
  4. 献给小白的笔记day6
  5. 【论文】模型剪枝(Network Pruning)论文详细翻译
  6. Excel数据分析从入门到精通(三)函数进阶-52个Excel函数之清洗类函数
  7. opencv入门基础——图像读取,图像显示,图像保存
  8. springboott整合mybatis-plus和sharding-jdbc实现分库分表和读写分离(含完整项目代码)
  9. 自己动手搭建一个简单的静态资源服务器
  10. Java Web项目源代码|CRM客户关系管理系统项目实战(Struts2+Spring+Hibernate)解析+源代码+教程