ERC6909和ERC1155有什么区别? 图 1
ERC6909和ERC1155有什么区别? · 图 1

比较最小多代币接口与ERC-1155,解释按token id的allowance、全局operator、取消强制回调和批处理后的取舍。

ERC-6909用更小接口换取灵活性,选择它之前先确认生态是否需要ERC-1155的批量与接收回调。

规范锚点

  1. ERC-6909用单合约按id管理多代币,但从核心接口移除了ERC-1155的批量操作与强制接收回调。
  2. 它同时支持按token id的allowance和覆盖全部id的operator,授权粒度与ERC-1155不同。
  3. ERC-6909与ERC-1155不向后兼容;钱包和市场必须按接口检测和实际事件分别解析。

接口矩阵

两种标准都能在一个合约内按id管理多种资产。ERC-6909核心接口去掉safeBatchTransferFrom和强制receiver callback,因此调用路径更短,但接收合约不会获得同样的标准保护。

授权模型

授权是主要差异:allowance可限定某个id与数量,operator则覆盖拥有者的全部id。界面必须把两种授权分开,不能都写成“授权此NFT”。

落到审计记录

核验对象本主题动作失败处理
接口矩阵从Ethereum Improvement Proposals确认ERC-6909的正式定义,并保存网络、地址与读取时间定义或版本对不上时,不继续套用本文步骤
授权模型在原始返回、签名消息或交易指令中定位对应字段,不用界面缩写代替找不到原始值时,把结果标为未验证
回调取舍用ERC-1155复核实现行为,特别记录可选扩展与权限主体实现与规范语义不一致时,按具体部署重新评审
集成检测构造一个失败样例,确认客户端会明确拒绝而不是静默修正失败仍被显示为成功时,停止上线并补充状态校验

记录ERC-6909与ERC-1155时,把“输入快照”和“判断结果”分开。该主题的快照包含原始bytes、字段单位、对象地址、区块高度与Ethereum Improvement Proposals版本;结果注明通过的规则和仍未知的集成检测。这样即使ERC-6909随后变化,也能复现当时的结论。

ERC-6909与ERC-1155的测试至少覆盖正常路径、缺少授权模型、提交前状态改变及客户端不支持当前版本。前几类验证回调取舍边界,最后一类确认产品不会删除字段或改走未经用户确认的回退路径。

回调取舍

事件签名和接口ID并不相同。索引器应通过supportsInterface与ABI确认标准,不能看到Transfer字段就按ERC-1155解析。

集成检测

Rollup可自行设计更节省calldata的批处理,但这属于实现扩展。若市场、钱包或托管系统只识别1155,精简带来的Gas收益可能抵不过集成成本。

来源与复核入口

  1. Ethereum Improvement Proposals:正式接口、字段与规范语义,https://eips.ethereum.org/EIPS/eip-6909
  2. ERC-1155:实现路径、兼容性或安全边界,https://eips.ethereum.org/EIPS/eip-1155

ERC-6909与ERC-1155的资料访问口径为2026-07-17;遇到Draft状态、可升级部署或可变网络参数,应在后续复核日重新读取Ethereum Improvement Proposals。

审计边界

精简接口可能降低代码与调用开销,但接收安全、批处理和元数据能力取决于具体扩展。 相邻知识可继续对照ERC-1155批量转账ERC-165接口检测