附录1 ERC20可交换代币协议

现在基于以太坊的大部分应用都直接或间接与ERC20协议有关,该协议的本质是将各种数字资产的接口标准化,遵循ERC20协议标准各种代币可以自由的流通和交换。该协议的内容是一些公共的函数接口定义以及相关的事件操作定义。

本附录收录了其中重要而且常见的函数定义、事件定义以及公共变量定义,可作为日常工作的快速参考。如果需要关于该协议全面而细化的描述请参考官方相关文档。

1 全局状态查询函数

function name() constant returns (string name)

返回该令牌的名字如”YxToken”,用来提高可用性

function symbol() constant returns (string symbol)

返回该令牌的符号如”YTT”,用来提高可用性

function decimals() constant returns (uint8 decimals)

返回该令牌的精度,一般为18和主网币ETH一致

function totalSupply() constant returns (uint256 totalSupply)

返回该令牌的总供应量

function balanceOf(address _owner) constant returns (uint256 balance)

返回该令牌的指定账户余额

2 转账相关函数和事件

function transfer(address _to, uint256 _value) returns (bool success)

向目标地址转移指定数量的令牌且触发转账事件,如果发送方余额不足该函数抛出异常。创建新令牌时应该将源地址设置为0x0触发转账事件

function transferFrom(address _from, address _to, uint256 _value) 
    returns (bool success)

从地址源账户发送指定数量令牌到目标账户且触发转账事件。该函数主要用于第三方合约如交易所之类进行授权转账。在进行实际代理转账前需要明确的为第三方代理账户进行授权

event Transfer(address indexed _from, address indexed _to, uint256 _value)

在进行代币转账时必须触发该事件进行日志记录

3 额度授权相关函数和事件

function approve(address _spender, uint256 _value) returns (bool success)

授权第三方账户进行代理转账并设置最大限额。如果多次调用该函数以最后的授权额度为准

function allowance(address _owner, address _spender) 
    constant returns (uint256 remaining)

查询第三方账户剩余的授权代理转账额度

event Approval(address indexed _owner, address indexed _spender, uint256 _value)

对第三方账户进行额度授权时必须触发该事件进行日志记录

你可能感兴趣的:(附录1 ERC20可交换代币协议)