TRC-20 协议接口

TRC-20 标准中每个函数和事件的完整参考。

📘

前置阅读

TRC-20 合约标准

TRC-20 是 TRON 网络中用于发行同质化 Token 的智能合约标准。任何完整实现核心函数与事件的合约,都可视为符合 TRC-20。钱包、交易所等基础设施集成此类资产时,统一基于这套标准接口与 Token 合约交互。

必须实现的接口

每个 TRC-20 合约必须实现以下函数和事件:

contract TRC20 {
    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()返回 Token 的总供应量。
balanceOf(address _owner)返回 _owner 的 Token 余额。
transfer(address _to, uint _value)从调用者账户向 _to 转移 _value 个 Token。
approve(address _spender, uint _value)授权 _spender(通常为 DApp 合约)从调用者账户最多转移 _value 个 Token。
transferFrom(address _from, address _to, uint _value)允许被授权的支出方将 _value 个 Token 从 _from 转移到 _to。所有者账户必须事先调用 approve
allowance(address _owner, address _spender)返回 _spender 仍被允许从 _owner 处转移的 Token 剩余数量。

事件参考

事件触发时机
Transfer(_from, _to, _value)成功的 transfertransferFrom 转移 Token 时触发。铸造(_from = 0x0)和燃烧(_to = 0x0)时也会触发。
Approval(_owner, _spender, _value)成功的 approve_spender 代表 _owner 设置新的授权额度时触发。

可选元数据

以下公共状态变量为可选项,但几乎所有钱包和区块浏览器均支持:

string public name = "TRONTestCoin";
string public symbol = "TTC";
uint8 public decimals = 6;
字段用途
nameToken 的人类可读名称。
symbol钱包和交易所显示的简称。
decimalsToken 数量使用的小数位数。decimals = 6 表示 1 个 Token = 1,000,000 基础单位。

相关资源