链上票券的现实接口:ERC-7765 特权 NFT 的行使与查账 图 1
链上票券的现实接口:ERC-7765 特权 NFT 的行使与查账 · 图 1

链上票券的现实接口:ERC-7765 特权 NFT 的行使与查账

“持有这枚 NFT 可以去兑换实物”“可以在门店打折”——这类承诺在 NFT 项目里太常见了,可链上从来没有一个标准位置回答:这些权益现在还能用吗?我到底用掉过没有?ERC-7765 想把“现实世界特权”变成可查询、可行使、可留痕的链上对象。这份提案在 ethereum/ERCs 仓库标注为 Draft,2024 年 8 月 20 日创建,基于 ERC-721 与 ERC-165,面向的是与现实资产绑定的 NFT:链上发售的商品、可在物理世界兑换的凭证,都算它的目标场景。

五个函数拼出一张权益台账

标准给合规合约规定的接口可以当一个检查清单用。getPrivilegeIds 返回这枚 NFT 名下挂了多少条权益编号,先回答“我到底有什么”;privilegeURI 按权益编号返回详情链接,把“这条权益具体是什么”写在元数据里;isExercisable 回答“现在能不能行使”,isExercised 回答“有没有已经行使过”;真正动手时调用 exercisePrivilege,指定代币和权益编号执行,合约发出 PrivilegeExercised 事件。

这套结构的价值在于它把权益从营销文案推进到账本:每一项是可枚举的、有独立状态的、行使会留事件回执的。以前判断权益状态要翻公告栏和客服记录,现在可以先读链。但边界同样清楚:链上记录的是“你在合约里执行了行使动作”,不覆盖“那杯咖啡真的端到了你手上”。isExercised 为 true 而现实里没兑现,是履约纠纷,不是合约 bug——标准自己也把“特权”限定为由持有人在现实世界行使的权益,而不是链上自动结算的收益。任何把它读成收益承诺的说法,都是把票根说成分红。

使用前核对五件事

第一,ERC-165 探测合约是否真实现这套接口,宣传页不算数。第二,遍历 getPrivilegeIds,逐条打开 privilegeURI,把每条权益的兑换条件、期限、地域限制读一遍——URI 若指向中心化服务器,内容可能被单方面修改,与静态字段可信度不同。第三,查 isExercisableisExercised 的组合:不可行使的权益要问清楚是已过期、已用掉,还是还没开放。第四,理解行使动作与所有权的关系:行使通常要求调用者是持有人或获授权地址,转卖 NFT 时未行使权益随代币走还是随原主留下,取决于实现,标准并未替你规定,务必查项目文档。第五,若权益涉及线下履约,把兑换凭证、门店条款等链下要素单独存档,链上事件只是你主张权利的起点,不是终点。

常见误区

误区一:把 isExercisable 的 false 都理解成过期,也可能只是当天不可用这类实现层面的限制,要看项目对状态的说明。误区二:认为行使记录上链就等于权益安全。行使防的是重复兑换与身份扯皮,防不了发行方跑路或门店拒认。误区三:忽略 Draft 状态——标准仍在完善,不同实现之间接口行为可能不齐,把“支持 ERC-7765”当成质量认证是本末倒置。还有一个新手常问的问题值得单独回答:这套接口和 ERC-6672 的多重核销有什么区别?两者都记录“权益用过没有”,但 ERC-6672 把核销动作记在发行方操作方的名下,语义是“这个场景我验过了”;ERC-7765 的行使动作由持有人自己发起,权益挂在现实资产一侧,语义是“我把手里的凭证花掉了”。一个偏发行方记账,一个偏持有人行使,读项目时看清它引用的是哪一套。对读者最实用的总结是:这套接口让“权益”第一次有了统一的查账入口,遇到任何承诺型 NFT,先列权益清单再谈值不值,顺序别反。本文不构成投资建议。