🧩 NFT 开发全流程实战

ERC721 + ERC1155 · 30章
什么是NFT 发展历史 CryptoPunks BAYC 市场规模
Node.js npm/yarn Git VS Code MetaMask Infura/Alchemy
语言简介 合约结构 状态变量 整型/布尔 地址类型
字符串/字节 数组 mapping struct enum
函数可见性 view/pure modifier event
继承 is interface abstract library using for
IERC721 ERC721Enumerable Metadata URIStorage
OpenZeppelin Ownable ReentrancyGuard Counters
创建NFT合约 继承ERC721 mint函数 tokenURI
Hardhat 部署脚本 网络配置 验证
ethers.js mint调用 ownerOf tokenURI
白名单Merkle 铸造限额 铸造价格 批量铸造
IPFS Pinata metadata JSON 上传图片
ERC1155 vs ERC721 IERC1155 URIStorage 批量操作
创建ERC1155 继承OpenZeppelin mint mintBatch
部署合约 批量铸造 balanceOf balanceOfBatch
同质化/非同质化 代币类型管理 动态供应量 元数据更新
重入攻击 整数溢出 SafeMath 访问控制
DOS攻击 Front-running 随机数安全 签名重放
Hardhat测试 chai断言 测试覆盖率 主网fork
变量打包 内存/存储 循环优化 ERC721A
React Web3React Web3Modal 连接钱包
读取合约 totalSupply 显示NFT列表 IPFS网关
铸造交互 交易状态 pending/confirmed 交易哈希
批量操作 ERC1155批量铸造 多类型代币
挂单 listing 出价 offer 成交 match 版税 EIP-2981
市场页面 挂单界面 购买界面 交易历史
盲盒设计 Chainlink VRF 开盒逻辑 盲盒转换
Staking设计 质押/解质押 奖励计算 奖励领取
合约审计 测试网验证 主网部署 Etherscan验证 社区管理