ERC20合约

ERC20合约是在2015年11月在EIP上提出的一个合约标准,代币定义的一个标准。

合约构成

name

function name() constant returns (string name)

可选方法,返回当前代币的名称,系统自动为name公开变量生成

symbol

function symbol() constant returns (string symbol)

可选方法,返回代币名称的缩写,系统自动为symbol公开变量生成

decimals

function decimals() constant returns (uint8 decimals)

可选方法,用来返回token使用的小数点后几位

totalSupply

function totalSuply()constant returns (uint256 totalSupply)

该方法用于获取发行的代币总数

balanceOf

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

该方法用于获取指定地址所拥有的代币数量,此处用的是地址是因为这个地址可以是某个用户的地址也可以是某个合约的地址,此方法由系统默认为公开变量balanceOf生成的函数

transfer

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

该方法用于调用方发起转账,转移_value个代币到_to这个地址

approve

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

该方法是发起方授权_spender可以花费发起方_value个代币

transferFrom

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

从_from地址中转出_value个代币到_to地址中,此处需要_from地址给发起方地址approve至少_value的花费额度

allowance

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

从方法用于查询_owner地址给_spender地址授权花费的额度,由系统自动为allowance公开变量生成

Event-Transfer

event Transfer(address indexed_from,address indexed_to,uint256 _value)

当transfer或transferFrom被调用时,触发转账的动作

Event-Approval

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

表示相应的授权的请求被同意,可以正式授权

End

当用户写的Token的智能合约符合以上这些函数的标准,则用户的Token被称之为标准的ERC20代币。
ERC-20代币能立刻兼容以太坊钱包以太坊官网给出了发行Token的案例https://ethereum.org/token。

反馈与建议

你可能感兴趣的:(区块链)