$EX5 预售 — 种子轮 · 500M 固定供应量 · 50% 销毁 · 在 portal.ex5.com 注册参与 →
更新于

ERC-777

简而言之: ERC-777 是一种由 ERC-20 衍生而来的可交易代币标准。它在增加新功能的同时保持向后兼容,因此为 ERC-20 构建的钱包和应用仍然可以连接 ERC-777…

ERC-777 是一种由 ERC-20 衍生而来的可交易代币标准。它在增加新功能的同时保持向后兼容,因此为 ERC-20 构建的钱包和应用仍然可以连接 ERC-777 代币合约并照常使用。

为什么重要

ERC-777 的设计初衷是改进 ERC-20 的一些不足之处。它引入了“操作员”(operators),即经持有者授权、可代其发送代币的地址;以及“钩子”(hooks),即在发送或接收代币时运行的函数。钩子让接收方合约能够在同一笔交易中对转入的代币作出响应,或拒收不想要的代币。转账还可以附带额外数据,例如付款备注。钩子依赖一个共享的链上注册表 ERC-1820,各地址在其中登记由哪些合约处理自己的代币。代价是复杂性。由于钩子会在转账过程中执行外部代码,一些没有预料到这一点的协议曾遭受重入攻击。因此,ERC-777 远不如普通的 ERC-20 常见。

示例

一家网店接受某种 ERC-777 代币付款。顾客发送代币时,把订单号作为数据附上。网店的合约通过钩子接收这笔转账,读取订单号并将订单标记为已付款,全部在一笔交易中完成。如果使用普通的 ERC-20 代币,网店就需要额外的授权步骤,或者只能事后再将付款与订单逐一对应。

相关术语