ERC-7432 与 ERC-7589:两种“角色”接口怎么选 图 1
ERC-7432 与 ERC-7589:两种“角色”接口怎么选 · 图 1

ERC-7432 与 ERC-7589:两种“角色”接口怎么选

NFT 标准里重名最隐蔽的一对,是 ERC-7432 与 ERC-7589:都叫“代币角色”,解决的都是“持有与使用分离”,但一个围着 ERC-721 孤本设计,一个围着 ERC-1155 批量份额设计。2026 年 9 月 9 日在 ethereum/ERCs 仓库核对,7432 标注 Final,7589 标注 Draft。选错接口,轻则钱包不支持,重则权益结构南辕北辙。

同名不同骨架

ERC-7432 给 ERC-721 加角色:角色以 bytes32 定义、可带自定义数据,每次指派绑定到单枚代币并自带到期时间戳;到期后角色自动失效,持有人也可撤销。典型画面是一张会员卡 NFT 把“预订权”“折扣权”分租给几个人,主币不动、权限流转。ERC-7589 则要求先把份额质押成 commitmentId,再围绕这枚承诺牌发角色,角色同样带到期与可撤销标记,权益散场后 releaseTokens 取回质押。画面变成包厢合买:一叠可互换的股份质押入匣,每张座位一个角色。

逐项对表

依赖上,7432 挂 ERC-721 与 ERC-4907 一脉的思路,7589 明确依赖 ERC-1155 与 ERC-165。资产粒度上,7432 的角色长在“哪一枚”上,7589 的角色长在“哪一次质押承诺”上,同一份同质份额可拆出数量概念(tokenAmountOf)。生命周期上,7589 多一层质押与释放,7432 更接近直接授权。状态成熟度差别也现实:一个已定稿、一个仍在草稿,钱包与市场的适配广度需要现场验证,不能只看提案名。

选型清单

一个容易被忽略的共同约束

两套接口都把“到期”写成绝对时间戳而非相对时长,这意味着发起角色时必须换算一次链上时钟:grantRole 传入过去的时间会直接被要求回退,防止误发即时失效的角色;到期后的失效由查询函数按当前区块时间戳惰性判定,不需要任何人执行“收租”交易,也就没有出现“忘了撤销导致权益多活一天”的窗口。两条标准也都提供 RoleApprovalForAll 类机制,允许持有人预先授权某个运营合约代为发放角色,把“每发一个角色签一次”压成一次设置、多次静默。共同约束的另一面同样要紧:撤销权默认留在质押人/持有人一侧并由 isRoleRevocable 逐角色声明,一旦发行方把该标记设成不可撤销,购买者拿到就是一份“只能等到期”的合同,这类条款应当在购买前于合约页亲眼确认。

迁移与共存的实际判断

生态里两类资产常常并存:一张孤本联名卡用 7432 出租展示权,同一项目的会员份额用 7589 做多人席位,接口各自独立、事件各自索引。集成方按接口标识分流即可,但要做去重设计——同一个收款人可能同时出现在两套角色列表里,权益聚合面板必须把“来自哪套体系”标注清楚,否则会出现看似双份实则两处的错觉。对持有人,管理动作也随体系分叉:7432 的角色到期即止,7589 的份额记得在承诺到期后主动释放,否则质押物会静静躺在匣子里等你回来领取。

最后核对一次状态

引用前再确认一遍:7432 已 Final、7589 仍 Draft,实现面差距只会随评审推进缩小,当下选型以各自仓库正文与已部署合约为准。集成预算有限的小团队可以先只接 7432,等 7589 定稿且主流钱包跟进后再补份额维度,两阶段路线在兼容上不会被推翻。

先问资产形态:独一无二、以“张”论的藏品与资格选 7432;可互换、以“份”计的权益或分仓选 7589。再问治理需求:需要“用完退还质押物”的结构化退出,7589 的承诺制自带;需要主币永久留在创始人手里、只做权限出租,7432 更轻。最后核验落地:部署方是谁、角色数据链下部分由谁兑现、到期是合约强制还是约定俗成。两份接口并不互斥——同一生态完全可以一枚孤本会籍加一叠共享席位各用各的。本文为标准对比科普,不构成任何投资建议;标准状态以 ethereum/ERCs 仓库文本为准(核验时间 2026 年 9 月 9 日)。