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) | 成功的 transfer 或 transferFrom 转移 Token 时触发。铸造(_from = 0x0)和燃烧(_to = 0x0)时也会触发。 |
Approval(_owner, _spender, _value) | 成功的 approve 为 _spender 代表 _owner 设置新的授权额度时触发。 |
可选元数据
以下公共状态变量为可选项,但几乎所有钱包和区块浏览器均支持:
string public name = "TRONTestCoin";
string public symbol = "TTC";
uint8 public decimals = 6;| 字段 | 用途 |
|---|---|
name | Token 的人类可读名称。 |
symbol | 钱包和交易所显示的简称。 |
decimals | Token 数量使用的小数位数。decimals = 6 表示 1 个 Token = 1,000,000 基础单位。 |
相关资源
- TRC-20 —— 标准概览
- 合约示例 —— 完整参考实现
- 发行 TRC-20 Token —— 部署演练
- 与 TRC-20 合约交互 —— 读取和写入已部署的 TRC-20 合约
Updated 26 days ago