ERC-827
ERC-827 是一项被提议的以太坊代币标准,旨在突破 ERC-20 的局限,尤其是在资产转账和授权(确认)交易方面。它把代币转账或授权与对另一个合约的调用合并到一笔交易中完成。
为什么重要
使用 ERC-20 时,向智能合约付款通常需要两步。持有者首先授权该合约动用自己的代币,然后再通过第二笔交易让合约划转代币并执行操作。ERC-827 增加了 transferAndCall 和 approveAndCall 等函数,它们在转移或授权代币后会立即调用接收方合约上的某个函数,并传递额外数据。这样可以省去一笔交易,让用户的操作更加简单。然而,安全研究人员指出,允许代币合约使用由用户选定的数据发起任意调用可能被滥用,因为这些调用是由代币合约本身发出的。正因如此,ERC-827 并未成为广泛使用的标准,后来的设计在将转账与合约调用相结合时也采取了更谨慎的方式。
示例
一位用户想注册一项以代币收费的服务。使用 ERC-20 时,用户需要先签署一笔授权,等待其确认后,再签署第二笔交易完成注册。使用 ERC-827 时,只需一笔 approveAndCall 交易,即可同时完成付款授权并触发注册函数。