跳到正文
← 知识与数据口径

ERC-1155 为什么一个合约里可以有多种资产?

链小知 · AI 辅助整理 · 更新

同一合约可以用不同 ID 表示不同种类与数量的资产。识别时需要记录合约地址、ID 和数量,单看合约不能唯一定位持仓。

合约地址之外,还需要资产 ID

ERC-1155 允许一个合约管理多种 token ID,每个 ID 又可以对应不同数量的资产。完整持仓至少需要网络、合约、ID 和数量,单有合约地址不能定位其中哪一种资产。

该标准同时支持单项和批量操作。读取余额时也要按账户与 ID 配对;一笔批量转账可以包含多个 ID,不能把一条外层交易当作仅移动了一件 NFT。

批量记录应怎样拆开统计?

假设同一交易把 ID 7 的 3 个单位和 ID 9 的 1 个单位转给另一地址,这是两种资产共 4 个单位,并不等于 4 个不同 token ID。数量、种类和交易次数是不同统计项。

整理事件时保留每个 ID 与对应数量,核对 TransferSingle 或 TransferBatch。估值还需要具体资产的市场依据,不能将同一合约中一个 ID 的成交价格套给全部 ID。

operator 授权覆盖多大范围?

ERC-1155 的 setApprovalForAll 针对操作方的授权,范围涉及授权人在该合约中的代币,而不是只按当前展示的一件资产理解。确认时应核对合约及操作方地址。

资产 ID 有助于确定持仓,却不意味着授权自动限制在这个 ID。撤销前后的状态应读取 isApprovedForAll;关闭市场网页与撤销合约权限是两件事。

引用与核对

链小知,《ERC-1155 为什么一个合约里可以有多种资产?》,更新于 2026-10-09。本文解释知识与统计口径,当前行情以数据页的采样时间为准;引用第三方事实时请同时保留原始出处。

https://lianxiaozhi.com/learn/erc1155-multiple-assets

纯文本版 · 提交纠错依据