ERC-5700 绑定代币:让积分和配件跟着 NFT 一起搬家
买下一个游戏角色 NFT 时,买家常遇到尴尬:角色本身在 721 合约里,角色的金币是 ERC-20 代币、装备是另几枚 721,转账时四散在各处,稍不留神就“卖了角色忘了金币”。常规的代币记账以账户为中心,代币要么属于地址,要么属于合约。ERC-5700(2022 年 9 月 22 日创建的 Draft 提案)尝试把记账中心挪一格:让代币绑定在一枚 NFT 上,所有权记在藏品层面,随 NFT 一起移动。
bind、unbind 与随藏品旅行的余额
标准的思路是:ERC-20、721、1155 三类代币都可以声明为“bindable”,通过 bind 把一定数量或某一枚挂到目标 ERC-721 代币名下,挂接关系由 binderOf 查询——返回它绑在哪份合约的哪枚 NFT 上;boundBalanceOf 则回答“这枚 NFT 身上挂了多少”。任何时刻,NFT 的当前持有人都能调用 unbind 把代币解绑、认领回自己地址。绑定期间,NFT 转手,身上的代币跟着走,不需要为每类资产再签一次授权。挂上与摘下分别广播 Bind 与 Unbind 事件,批量场景还有 BindBatch 和 UnbindBatch,账目演进全程可回放。该扩展用 ERC-165 标识,721 侧的接口标识符为 0x82a34a7d。

和 ERC-6551、ERC-5773 各解决什么
同一问题有三种解法,差别值得分清。ERC-6551 给每枚 NFT 配一个专属钱包合约,代币存在账户里,资产随账户随 NFT 移动,灵活但每枚藏品背后都是一个真实合约;ERC-5773 让一枚 NFT 内部携带多个资产条目,适合“一张图一个模型一份说明书”的打包;ERC-5700 既不造账户也不改资产本体,只在记账上把代币“挂”到 NFT 上,强调对现有 20、721、1155 合约的兼容:资产还是原来的资产,只是所有权多了一层以藏品为键的挂接视图。选型时看你要的是钱包级的自由(6551)、内容级的打包(5773),还是存量资产的低成本捆绑(5700)。
挂接状态怎么查,坑在哪
准备买卖一枚“带资产”的 NFT 前,三件事可以查:第一,binderOf 与 boundBalanceOf,确认你即将接手或放弃的挂接清单;第二,合约的 Bind、Unbind 事件史,看清资产被谁在何时挂上或解走——NFT 持有人随时可 unbind,意味着上一任卖家理论上可以在交割前把身上的 ERC-20 解绑带走;第三,若你是买方且协议约定“金币随角色出售”,务必确认交易前挂接仍然存在,必要时先谈好快照条款。对挂牌方也同理:平台若只识别 721 本体而不读挂接视图,资产就可能被“藏在明处”漏卖。标准仍是 Draft,实现方寥寥,任何依赖挂接语义的交易条款都应以链上可查的事件为最终依据。本文只做协议机制科普,不构成投资建议。
一场标准实验的兴衰轨迹
ERC-5700 的命运本身值得一记。它诞生于 2022 年捆绑资产需求最旺的档口:当时多个头部链游都在自建“资产跟角色走”的私有逻辑,彼此互不兼容,标准试图用最小的接口切口收编这团乱麻。但生态随后给出了另一份答案——6551 代币绑定账户以更通用的方式吸收了同一需求:既然要给 NFT 挂资产,不如给每枚 NFT 一个真正能持有万物的账户,钱包与市场的改造动力迅速倒向那边。5700 因此停留在 Draft,相关尝试陆续归档。这段历史给读者的启发比接口更耐用:标准的竞争不看设计是否优雅,而看谁率先打通钱包、市场、索引器三端。选捆绑方案时,把“有现成工具支持吗”放在“语义是否精巧”前面,能省掉大量后续摩擦。
交割清单:把捆绑条款写成可执行动作
假设你正通过场外协议收购一枚声称“带资产”的 NFT,可以把条款落到链上动作:签约前双方共同快照 binderOf 与 boundBalanceOf 的完整清单并存档交易哈希;约定从快照到交割期间禁止 Unbind,若发生则按约定退款或补偿,条款生效与否以该合约的 Unbind 事件为唯一裁决;交割确认后立刻重跑一遍快照,两张清单差集即为最终随货资产。所有步骤不需要第三方仲裁,事件与函数调用都是公开可重放的。把谈判从口头承诺推进到函数名级别,是这类捆绑资产交易中最高性价比的自我救济,也正是 5700 式接口即使采用寥寥仍然提供的公共语言。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。