ERC-6150 层次化 NFT:父子代币怎么铸造、浏览与回收 图 1
ERC-6150 层次化 NFT:父子代币怎么铸造、浏览与回收 · 图 1

ERC-6150 层次化 NFT:父子代币怎么铸造、浏览与回收

提到 NFT 之间的关系,很多人先想到 ERC-6059 的”嵌套”——把一枚代币装进另一枚。ERC-6150 走的是另一条路:它不转移所有权,而是给代币之间建立”父子”层级——孩子归孩子,各自的持有人还是各自的,只是账本上多了一行”谁是谁的孩子”。2026 年 9 月 9 日在 ethereum/ERCs 仓库核对,该标准标注为 Final,ERC-165 接口号为 0x897e2c73

账本上的家谱

一份符合 ERC-6150 的合约在 ERC-721 与 ERC-165 之外,提供一组谱系查询函数:parentOf(tokenId) 返回父代币编号(根代币返回零),childrenOf(tokenId) 返回子代币列表,childrenCountOf(parentId) 数子代数,childOfParentByIndex 与枚举索引函数让外部可以分页遍历某个父节点的全部孩子,isRootisLeaf 快速判断节点位置。铸造一个带父亲的孩子(safeMintChild 一类内部函数)时,合约发出 TokenMintWithParent 事件,其中包含父代币编号——这条事件就是链上家谱的原始凭证。

层级本身不改变钱的归属:孩子代币完全可以在另一个人的钱包里。所以”父与子”更像目录结构而不是保管关系,与”把 NFT 锁进合约”的托管有本质区别。这也是它和 ERC-6059 最容易被混淆的分界:ERC-6059 里子币物理上存在父币合约名下,取出需要执行取出流程;ERC-6150 里子币从头到尾都在持有人自己地址上,父子只是标注。

回收与再挂载

标准同时规定了销毁与转移族谱的函数。safeBurnsafeBatchBurn 允许在满足条件时销毁代币——销毁有孩子的父节点时,合规实现要妥善处理子节点计数,具体行为以合约实现与文档为准。transferParent 则允许把某枚代币的家谱位置挂到新的父节点下,配合 PropagateChildCreation 事件让索引器能重建完整层级。规范把这些设计成函数级能力,意味着”层级会不会被管理方改写”完全取决于合约把调用权限给了谁:公开铸造带父节点、还是仅管理员可重排家谱,是两种截然不同的信任结构,买前应在合约函数页确认。

这类结构适合什么场景?常见的合理用法包括:系列与其衍生物的统一导航(主合集下挂历届子系列)、任务链与徽章的进度树、游戏里装备与配件的从属关系。它们的共同点是”需要一份不可抵赖的目录”,而不需要变更资产归属。

顺带把两个易混标准的差异钉牢:ERC-6150 的父与子是”目录关系”,ERC-6059 的父与子是”保管关系”。前者查询走 parentOf 一类函数,后者查询要进父币所在合约看被锁的子币;迁移工具若把两种结构混着处理,轻则显示错乱,重则在批量操作中漏掉真正的托管合约。读一个复杂项目时,先在合约函数列表里确认它实现的是哪一族接口,比看白皮书措辞可靠得多。规范里那批按索引遍历孩子的函数(分页取某父节点的子代币、查询某孩子在兄弟中的位置)也是为此准备的:层级很大时,索引器靠它们做增量同步,而不是一次拉全树撑爆调用限制。

上手前值得核对的三件事

第一,确认工具真的认识这个接口:用 ERC-165 探测 0x897e2c73,不支持该接口的钱包与索引器可能把父子结构显示成一堆毫无关联的散币。第二,查自己代币的 parentOf 结果,再顺着父代币核对它是否来自你预期的官方合约——蹭名项目最省力的伪装就是在自己的合约里造一个”看起来像”的父节点。第三,如果项目宣传”孩子继承父亲的权益”,要清楚继承逻辑不在 ERC-6150 之内:标准只保证关系可查,权益联动属于应用层承诺,通常可以随时调整。

谱系让”这件藏品从哪来”有了链上答案,但它既不提高稀缺性,也不自动带来流动性。把它当作目录与溯源工具来评估,结论才不会跑偏。本文为机制科普,不构成投资建议;标准文本以 ethereum/ERCs 仓库为准(核验时间 2026 年 9 月 9 日)。