ERC-721 / ERC-1155:NFT 与元数据
2026/8/24大约 2 分钟
Web3 区块链系列 · 阶段 4 · 代币标准 · 第 24/57 篇 · 🚧 占位待学
上一篇:《ERC-20 与 OpenZeppelin:亲手发一个代币》
下一篇:《ERC-4626 金库标准与通胀攻击》
学习大纲:《Web3 区块链学习总纲》
状态:待学习。 本文为占位文档:知识点清单、实验与验收标准已就绪,正文待按「先学习、先实验、再撰写」补全。
对应总纲单元:阶段 4 · 单元 4.2
一、本文要解决的问题
一张 jpg 凭什么叫「NFT」?链上存的到底是什么、图片在哪?721 和 1155 分别适合什么场景?——发完自己的 NFT 合集,这些问题全部落地。
二、知识点清单
- ERC-721:tokenId、ownerOf、safeTransferFrom、approve/setApprovalForAll
- 元数据:tokenURI、链上元数据(直接返回 JSON)vs 链下(IPFS 指针)
- safeTransferFrom 为什么 safe:接收方回调检查
- ERC-1155:多 token 标准、批量转账、单合约多合集的省 gas 设计
- ERC-165 接口发现:supportsInterface
- 铸造实战:merkle 白名单空投初见(为 defi 阶段埋钩子)
三、动手实验(学习时必须真跑)
- 基于 OZ 发行一个 NFT 合集(元数据结构先行设计)并完成铸造
- 对比同样 1000 个 token 用 721 与 1155 的部署/铸造 gas 差异
四、验收标准(全部通过才进入下一篇)
五、写作提示(补正文时遵守)
- 开篇问题驱动;结构走「是什么 → 为什么 → 怎么做 → 背景知识」
- 所有代码、命令、输出必须先在本机跑通再写入,不得杜撰
- 版本口径以总纲环境清单为准(以太坊 Fusaka / Solidity 0.8.36 / Foundry v1.0 / OpenZeppelin Contracts 5.x)
- 涉及版本敏感结论时标注出处与时间
本篇完成后,把文首导航块的「🚧 占位待学」去掉,并在总纲处打卡。