【翻译】ERC20标准

论坛 期权论坛 区块链     
空灵一月   2018-11-20 23:38   6679   0
            [h2]1. 概述[/h2]ERC20是token的标准接口。
[h2]2. 摘要[/h2]以下标准允许在智能合约为token实现标准API。 本标准提供了转移token的基本功能,并允许链上第三方使用token。
[h2]3. 动机[/h2]标准接口可以让以太网上的任何token被其他应用程序重新使用:从钱包到去中心化的交易所。
[h2]4. 详细介绍[/h2][h3]4.1 token[/h3]4.1.1方法注意:调用者必须处理返回false的returns (bool success).调用者绝对不能假设返回false的情况不存在。
name:返回令牌的名字,例如“MyToken”。
可选——这个方法可以提高可用性,但接口和其他合约不能依赖该值的存在。
  1. function name() view returns (string name)
复制代码
symbol:返回令牌的符号,比如HIX。
可选——这个方法可以提高可用性,但接口和其他合约不能依赖该值的存在。
  1. function symbol() constant returns (string symbol)
复制代码
decimals:返回token使用的小数点后几位, 比如 8,表示将1个token数量分为100000000份。
可选——这个方法可以提高可用性,但接口和其他合约不能依赖该值的存在。
  1. function decimals() view returns (uint8 decimals)
复制代码
totalSupply:返回token的总供应量。
  1. function totalSupply() constant returns (uint256 totalSupply)
复制代码
balanceOf:返回地址_owner的账户余额。
  1. function balanceOf(address _owner) constant returns (uint256 balance)
复制代码
transfer:转移
  1. _value
复制代码
数量的token到地址
  1. _to
复制代码
,并且必须触发Transfer事件。 如果_from帐户余额没有足够的token来支出,该方法应该抛出异常。
注意
  1. _value
复制代码
=0必须被视为正常转移并触发Transfer事件。
  1. function transfer(address _to, uint256 _value) returns (bool success)
复制代码
transferFrom:从地址
  1. _from
复制代码
发送
  1. _value
复制代码
个token到地址
  1. _to
复制代码
,必须触发Transfer事件。
transferFrom方法用于提现流程,允许合约为你转移token。这可以用于允许合约为你转让代币或收取费用。除了
  1. _from
复制代码
帐户通过某种机制授权消息的发送者之外,否则该方法应该抛出异常。
注意:_value=0必须被视为正常转移并触发Transfer事件。
  1. function transferFrom(address _from, address _to, uint256 _value) returns (bool success)
复制代码
approve:允许
  1. _spender
复制代码
多次从你的帐户提现,最高数量是
  1. _value
复制代码
。 如果再次调用此函数,它将以
  1. _value
复制代码
覆盖当前的值。
注意:为了防止向量攻击(讨论在这),客户端需要确认以这样的方式创建用户接口,即在为同一个花费者设置另一个值之前,先将它的值设置为0。虽然合约本身不应该强制执行,以前部署的合同允许向后兼容。
  1. function approve(address _spender, uint256 _value) returns (bool success)
复制代码
allowance:返回被允许从_owner提取到_spender余额。
  1. function allowance(address _owner, address _spender) constant returns (uint256 remaining)
复制代码
[h3]4.2.event[/h3]Transfer:当token被转移(即使是0值)时必须被触发。
  1. event Transfer(address indexed _from, address indexed _to, uint256 _value)
复制代码
Approval:当成功调用
  1. approve(address _spender, uint256 _value)
复制代码
后必须被触发。
  1. event Approval(address indexed _owner, address indexed _spender, uint256 _value)
复制代码
[h3]5. 实现[/h3]在以太网上已经部署了大量符合ERC20标准的令牌。从节省gas到提高安全性,不同权衡的团队已经编写了各种不同的合约方案。
合约实例:
在调用
  1. approve
复制代码
之前强制设为0的实现:MiniMeToken
[h2]6. 历史[/h2]本标准的相关历史链接:
[h2]7. 版权[/h2]版权和相关权利通过CC0放弃。
[h2]8.参考资料:[/h2]1.github
2.Wikipedia
         
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:6
帖子:4
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP