官方文档:EIP-20: Token Standard
实现Demo:https://github.com/ConsenSys/Tokens/blob/fdf687c69d998266a95f15216b1955a4965a0a6d/contracts/eip20/EIP20.sol
// 9个方法(3可选+6必选)
// 返回令牌的名称
function name() public view returns (string)
// 返回令牌的符号
function symbol() public view returns (string)
// 返回令牌使用的小数位数
function decimals() public view returns (uint8)
// 返回总代币供应量
function totalSupply() public view returns (uint256)
// 返回帐户余额
function balanceOf(address _owner) public view returns (uint256 balance)
// 将调用者_value个代币转移到_to地址,并且必须触发Transfer事件
function transfer(address _to, uint256 _value) public returns (bool success)
// 将_from地址的_value个代币转移到_to地址,并且触发Transfer事件
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
// 授权_spender账户可以从自己的账户转移_value个代币
function approve(address _spender, uint256 _value) public returns (bool success)
// 返回_spender还能从_owner地址提取代币的数量
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
// 事件(2个)
// 当token被转移(包括0值),必须被触发
event Transfer(address indexed _from, address indexed _to, uint256 _value)
// 当任何成功调用approve后,必须被触发
event Approval(address indexed _owner, address indexed _spender, uint256 _value)