💡 什么是智能合约 🛠️ Remix IDE ⚙️ Solidity 选择
📦 状态/局部/全局 💾 storage/memory/calldata
👁️ public/private 🔄 view/pure/payable
🔁 重载 / modifier ⬇️ fallback & receive
🔀 if-else / for / while ❓ 三元运算符
📢 声明 & 触发 🔍 索引参数 📱 DApp 作用
🧬 继承机制 / 多重 🔄 override & virtual
📐 抽象合约 🔌 接口定义 & 实现 🤝 合约交互
⚠️ require / revert / assert 🛑 自定义错误
📞 call/delegatecall/staticcall 🧾 ABI 编解码
⏰ block.timestamp 🔢 block.number ⚠️ 时间戳安全
💳 address payable 📤 transfer/send/call
💥 selfdestruct ⏸️ Pausable 模式
👑 Ownable / RBAC 🔐 OpenZeppelin AccessControl
🔄 重入攻击 / DAO 🛡️ 检查-生效-交互 / 重入锁
📈 溢出原理 🧮 SafeMath / 0.8+ 内置检查
🌐 安装 Web3.js 🦊 MetaMask 连接 📨 发送交易
⚡ Provider / Signer 📄 合约实例化 & 调用
🔧 环境搭建 🧪 单元测试 / Cheatcodes 📊 Gas 报告
📋 需求分析 & 设计 🧑💻 编写 / 测试 / 部署