> 
 > 
ERC-20 token合约有哪些功能?Tokenview
More

ERC-20 token合约有哪些功能?Tokenview

ERC-20 token合约拥有一系列的功能,允许用户发现用户的余额,也允许余额经过验证从一个账户转账到另一个账户。具体可参见Tokenview 以太坊区块浏览器查看相关交易。

erc20合约功能

balance()函数提供了被一个给定地址持有的token的数量。且任何人都可以查到地址的余额,区块链上的数据公开透明的特性。而从一个地址发送token到另一个地址有两种办法。tranfer()函数可以让某个用户直接转一些token到另一个地址。这种转token比较方便,但是当token要被用来为一个智能合约中的函数进行支付的时候,就不起作用了。原因是智能合约运行时,该函数无法获得转账地址的详细信息,进而无法保证调用合约的用户是否支付了启动合约要求数量的资金。

erc20合约功能

那么该如何支付相应的token来调用合约运行呢。可以使用approve()transferFrom()解决。一个token持有者给另一个地址(常常是一个智能合约)批准从本地转出一个最大特定数量的token,也就是所谓的配额(allowence)。Token持有者使用approve()来提供这些信息。一旦一个许可被创建,智能合约就可以从一个用户的配额中占用许可数量的token,作为该合约运行的一部分。

erc20合约功能

allowance()函数提供了允许从一个给定地址提取到另一个给定地址的token的数量。区块链公开特性,任何人都可以查到任何地址的余额,查询方式可使用Tokenview 的以太坊区块浏览器。

ERC-20 token合约中的事件

ERC-20定义了在合约采取了相关行动时,必须出发两类事件。一是Transfer(),就是放出从一个地址转移到另一个地址的token转移的细节。二是Approval(),就是放出从一个地址许可转移token到另一个地址的细节。

铸造token会发出了一个带有o地址的Transfer()事件作为源。当token被销毁的时候,没有事件会发出。因为这一点,ERC-20 token 合约常常通过transfer()发送token到0地址来销毁token,代替真正的销毁。