NFT 智能合约 · 从设计到上链
📘 30 章 完整目录
01
NFT概念与市场
什么是NFT?发展简史 · 应用场景 · 主流市场概览
02
区块链基础回顾
以太坊与EVM · 账户模型 · Gas机制 · 交易生命周期
03
Solidity语言入门
Solidity简介 · Remix IDE · Hello World · 合约结构
04
Solidity数据类型
值类型 · 引用类型 · 全局变量
05
函数与修饰符
函数定义 · 可见性 · view/pure · modifier
06
事件与日志
event定义 · 日志索引 · 前端监听
07
ERC-721标准详解
核心接口 · 元数据扩展 · Enumerable
08
OpenZeppelin库
为什么用OZ · 安装导入 · ERC721模板 · Ownable/AccessControl
09
编写第一个NFT合约
继承ERC721 · 构造函数 · mint · tokenURI
10
NFT元数据与去中心化存储
元数据JSON · IPFS · Pinata · tokenURI生成
11
铸造与销毁
safeMint vs mint · 权限控制 · burn · totalSupply
12
白名单与Merkle Tree
白名单场景 · Merkle原理 · 合约验证 · 前端生成Proof
13
铸造价格与支付
设置价格 · payable · withdraw · 重入防护
14
铸造限制
每地址上限 · 总供应量 · 时间窗口(公开/预售)
15
批量铸造
批量mint · Gas优化 · 批量ownerOf
16
NFT交易市场合约
挂单 · 购买 · 取消挂单 · 撮合引擎思路
17
版税机制
EIP-2981 · 版税计算 · 支付流程 · royaltyInfo
18
合约升级
可升级模式(Proxy) · UUPS/透明 · Storage Gap · OZ插件
19
测试与调试
Foundry框架 · 单元测试 · Gas报告 · console.log
20
安全审计
常见漏洞 · Slither · Mythril · 审计报告解读
21
前端集成(Web3.js)
Web3.js基础 · 连接MetaMask · 读取/发送交易
22
前端集成(Ethers.js)
Ethers vs Web3 · Provider/Signer · 合约交互 · 事件监听
23
NFT元数据动态更新
链上元数据 · SVG生成 · Base64 · 完全链上NFT
24
Lazy Minting
什么是Lazy Mint · EIP-712签名 · Voucher · 降低Gas
25
跨链NFT
跨链桥原理 · Wormhole/LayerZero · 封装NFT
26
NFT碎片化
Fractional NFT · ERC-1155组合 · 碎片化合约
27
NFT借贷
抵押借贷原理 · NFTfi/BendDAO · 清算 · 地板价预言机
28
NFT DAO治理
NFT作为治理代币 · Snapshot投票 · Tally · Treasury管理
29
Gas优化技巧
变量打包 · unchecked · 减少存储 · 事件替代 · 批量操作
30
项目实战:从0到1
需求分析 · 合约设计 · 前端开发 · 测试部署 · 上线维护