> 
 > 
什么是ERC-20 Token合约? | Tokenview
More

什么是ERC-20 Token合约? | Tokenview

什么是Token 合约?

本质上来说,一个token合约就是一个包含了一个对账户地址及其余额的映射的智能合约(Smart Contract)。账户余额是由合约创建者定义的值:一个token合约余额可以表示物理对象,或者是货币价值,或者是持有人的名誉。余额的单位通常被称为token。

以太坊token合约

当token从一个账户被转移到另一个账户的时候,token合约更新两个账户的余额。通过以太坊浏览器可查看token转账信息。

以太坊token合约

如何变更token的总供给呢,通常有两种方式,一种是通过铸造新的token来增加。例如铸造100个token到某个地址。另一种方式便是通过“销毁”来减少现有的token量。销毁token的另一种方式是将token发送到一个未创建私钥的地址,通常来说就是0地址。这会使得这些token不可用,在这方面,它与销毁token有同样的效果,但并没有减少token的总数。

ERC-20 token合约的定义

一个ERC-20 合约是通过合约的地址以及它可用的token总供给来定义的,但它通常还提供一些非必须的东西,也是为用户提供更多细节。它们包括该token的名字、标志、小数位。token合约没有一个中心化的登记处,因此无法保证特定名字和符号的唯一性。一旦你已经创建了一个token合约,你应该请求将它加入公共站点,比如:Etherscan,MyEtherWallet 以及 CoinMarketCap。

  • Token的名称:该token合约应该被知道的完整名称,名字的长度没有限制,但完整名称在一些钱包应用中更容易显示不完全,建议让名称要更短一些。
  • Token合约的标志: 该token合约应该被知道的符号,比如“MYT”。广义上,它是股票代码的对应物,而且,虽然没有严格的长度限制,但它在长度上常常是3或4个字母。
  • Token合约小数位:常常是混淆的来源,但经过合理的解释这是非常容易理解的。小数位意味着一个token的可切分性,从0个小数位(即完全不可切分)到18位小数(几乎是连续的),如果需要,可以有更多的小数位。从技术上来说,小数位的意义在于显示token价值在屏幕上的时候小数点后面跟着的位数。小数位存在的理由是以太坊并不处理有小数的数字,只显示整数的数字价值。
  • 例如:LicenseToken,一个为给定软件产品显示软件许可分配的token合约;持有一个LicenseToken,使用者就可以使用该软件。而持有小于1个的LicenseToken则没有任何意义,所以token创建者将小数位设为0。

    再如:GoldToken,一个表示物理黄金所有权的token合约。合约创建者希望每单位表示1千克黄金的单位,但同样希望允许用户以克的级别(但不能更低)持有和交易黄金。因为以太坊并不支持小数因此1个token必须表示1克黄金,以及,为了向外界表示1000克作为单一的1Kg单位,小数位要设置成3。

    在决定要取几个小数位时,下述规则是应该被遵循的:

    • token合约表示的是一个不可切分的物体吗?(如果是)那么将小数位设为0。
    • token合约表示的是一个有特定小数位的物体吗?那么将小数位设置到那个数字。
    • 如果上述两者都不是,请设置小数位为18。

小数位经常被称为是一个人性化的元素,因为它允许token合约定义他们希望余额怎样显示给用户。GoldToken并不在内部处理小数位,也从不将小数位用在它自己的计算中因为一切都是用克来计算的,但它允许用户使用黄金的共通单位(千克)而不是在合约中使用的单位(克)。