协议接口

VRC-20合约标准

VRC-20是为发行通证资产而制定的一套合约标准,即遵守这一标准编写的合约都被认为是一个VRC-20合约。当各类钱包、交易所在对接VRC-20合约的资产时,从这套合约标准中就可以知道这个合约定义了哪些函数、事件,从而方便的进行对接。

可选项
通证名称

string public name = "VisionEuropeRewardCoin";

通证缩写

string public symbol = "VTK";

通证精度

uint8 public decimals = 6;

必须项

contract VRC20 {
    function totalSupply() constant returns (uint theTotalSupply);
    function balanceOf(address _owner) constant returns (uint balance);
    function transfer(address _to, uint _value) returns (bool success);
    function transferFrom(address _from, address _to, uint _value) returns (bool success);
    function approve(address _spender, uint _value) returns (bool success);
    function allowance(address _owner, address _spender) constant returns (uint remaining);
    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
}

totalSupply()
这个方法返回通证总的发行量。

balanceOf(address _owner)
这个方法返回查询账户的通证余额。

transfer(address _to, uint _value)
这个方法用来从智能合约地址里转账通证到指定账户。

approve(address _spender, uint _value)
这个方法用来授权第三方(例如DAPP合约)从通证拥有者账户转账通证。

transferFrom(address _from, address _to, uint _value)
这个方法可供第三方从通证拥有者账户转账通证。需要配合approve()方法使用。

allowance(address _owner, address _spender)
这个方法用来查询可供第三方转账的查询账户的通证余额。

事件函数
当通证被成功转账后,会触发Transfer转账事件。

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

当approve()方法被成功调用后,会触发Approval事件。

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