SuperAPI AI 工具集

evm-nfts

编程与开发

查看项目

更新于 10-15 23:43

技能介绍

用途:为 EVM 链上的 NFT 开发提供 ERC-721(唯一代币)与 ERC-1155(半同质化代币)的实践模式,覆盖安全铸造、元数据标准、版税实现与市场集成,基于 OpenZeppelin v5.6.1 与 Seaport 1.6。

主要能力与要点:_safeMint 会对外部合约调用 onERC721Received,存在重入风险,所有 mint 函数应使用 ReentrancyGuard;白名单签名需含 EIP-712 域分隔符(block.chainid 与 address(this))、每地址 nonce 与 deadline,防止跨链跨合约重放;transferFrom 不检查 onERC721Received,向合约转账应使用 safeTransferFrom;ERC-2981 版税为只读接口,链上不强制,实际执行可参考 ERC-721C 转移校验模式;ERC-721 的 approve 与 setApprovalForAll 相互独立;tokenURI 返回的是 JSON 元数据 URI 而非图片地址;ERC-1155 标准无 name/symbol,uri(id) 返回含 {id} 占位符的模板,需客户端替换为 64 位小写十六进制;balanceOf 返回数量,枚举需 ERC721Enumerable 或链下索引 Transfer 事件;OpenZeppelin v5.6.1 中 ERC721URIStorage 对未铸造代币返回空字符串而非回滚;Seaport 1.6 在各 EVM 链地址一致,Reservoir 已于 2025 年 10 月停止服务。

使用方式:安装依赖 forge install OpenZeppelin/openzeppelin-contracts@v5.6.1,按 v5 模式编写合约(如用 _nextTokenId 替代 Counters、重写 _update、Ownable(initialOwner))。

适用场景:NFT 集合、游戏道具、门票等铸造与市场集成。限制:资料未提供完整部署步骤、收费与平台支持细节。