学习计划 Roadmap
90 天 Solidity+Rust+Move(Roadmap)
第一阶段检验标准:
441 行SOLIDITY_RUST_MOVE_90_PLAN.md
Solidity实战 + Rust/Move 多链开发 90天精通计划
定位:从"能读懂合约"升级到"能写+能审计" + 掌握多链开发能力 目标:Solidity中等复杂度合约开发与安全审计 + Solana/Sui多链程序开发 开始日期:2026-04-09 定位级别:有Web3产品知识基础,编程基础扎实,智能合约从入门到实战 时间安排:每天2-3小时,周一三五Solidity,周二四六Rust/Move,周日复习/补课 进度文件:
docs/daily/SC_PROGRESS.md
四阶段概览
| 阶段 | 天数 | Solidity(周一三五) | Rust/Move(周二四六) | 核心产出 |
|---|---|---|---|---|
| 一:基础构建 | Day 1-24 | 语法精通+手写标准合约 | Rust语言基础+所有权体系 | ERC20/721合约 + rustlings通关 |
| 二:框架实战 | Day 25-48 | Foundry工具链+DeFi合约 | Solana/Anchor程序开发 | Staking/Vault合约 + Solana程序 |
| 三:安全审计 | Day 49-72 | 漏洞学习+Ethernaut+审计 | Move语言+Sui开发 | 审计报告 + Sui模块 |
| 四:综合实战 | Day 73-90 | 综合DeFi项目+CTF | 多链对比+综合项目 | 作品集项目 + 对比文章 |
第一阶段:基础构建 (Day 1-24)
Week 1: Solidity语法精通 + Rust入门
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 1 | Solidity | Remix IDE环境 + 数据类型(uint/int/bool/address/bytes) + 变量(state/local/global) | 在Remix写10个变量声明练习,部署到Sepolia | 笔记:Solidity数据类型全解 |
| 2 | Rust | Rust安装(rustup) + cargo项目结构 + 变量/可变性/常量 + 基本类型 | 安装Rust环境,完成rustlings intro+variables(8题) | 笔记:Rust环境与基础类型 |
| 3 | Solidity | 函数(visibility/modifier/view/pure) + 事件(event/emit) + 错误处理(require/revert/assert) | 手写一个SimpleStorage合约:存取数字+事件记录+权限控制 | SimpleStorage合约代码 |
| 4 | Rust | 所有权(ownership) + 借用(borrowing) + 引用(&/&mut) | rustlings move_semantics(6题) + 写所有权练习代码 | 笔记:Rust所有权核心概念 |
| 5 | Solidity | mapping + struct + array + enum | 手写一个TodoList合约:增删改查+状态枚举 | TodoList合约代码 |
| 6 | Rust | 字符串(String/&str) + 切片 + 生命周期基础 | rustlings strings+primitive_types(8题) | 笔记:Rust字符串与生命周期 |
| 7 | 复习 | 回顾Week1全部内容 | Solidity: 重写SimpleStorage不看代码 / Rust: 复习所有权练习 | Week1总结笔记 |
Week 2: ERC标准合约 + Rust核心概念
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 8 | Solidity | ERC20标准详解:接口/totalSupply/balanceOf/transfer/approve/transferFrom | 从零手写完整ERC20合约(不用OpenZeppelin) | ERC20合约代码+注释 |
| 9 | Rust | struct + impl + 方法 + 关联函数 | rustlings structs(3题) + 写一个Token struct模拟ERC20逻辑 | Rust Token模拟代码 |
| 10 | Solidity | ERC20进阶:mint/burn/Pausable/AccessControl + 理解OpenZeppelin实现 | 对比自己写的ERC20和OpenZeppelin版本,添加mint/burn/pause功能 | 增强版ERC20 + 对比笔记 |
| 11 | Rust | enum + 模式匹配(match) + Option/Result | rustlings enums+option(8题) + 写错误处理练习 | 笔记:Rust枚举与错误处理 |
| 12 | Solidity | ERC721标准:tokenURI/ownerOf/safeTransferFrom + metadata | 手写完整ERC721合约:铸造+转让+查询+tokenURI | ERC721合约代码 |
| 13 | Rust | trait + 泛型(generics) + trait bound | rustlings traits+generics(8题) | 笔记:Rust trait系统 |
| 14 | 复习 | ERC20/721标准回顾 + Rust核心概念 | 默写ERC20核心函数 / 不看文档写一个泛型函数 | Week2总结 + ERC标准速查卡 |
Week 3: 继承与高级语法 + Rust集合与闭包
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 15 | Solidity | 继承(is) + 接口(interface) + 抽象合约(abstract) + super关键字 | 写一个继承链:BaseToken → BurnableToken → MyToken | 继承示例代码 |
| 16 | Rust | 集合:Vec/HashMap/HashSet + 迭代器(iter/map/filter/collect) | rustlings collections+iterators(8题) + 写一个地址余额HashMap | 笔记:Rust集合与迭代器 |
| 17 | Solidity | library + using for + 内联汇编(assembly)初探 + 低级调用(call/delegatecall) | 写一个SafeMath库(理解原理) + 用call发送ETH | Library示例 + 低级调用笔记 |
| 18 | Rust | 闭包(closures) + 函数指针 + 生命周期深入('a标注) | rustlings lifetimes+closures(6题) + 写闭包处理交易过滤 | 笔记:Rust闭包与生命周期 |
| 19 | Solidity | receive/fallback函数 + payable + msg.value + 合约间调用 | 写一个Crowdfunding合约:众筹+退款+提现 | Crowdfunding合约代码 |
| 20 | Rust | 错误处理深入:自定义Error + ? 运算符 + thiserror/anyhow | 写一个完整的错误处理示例项目 | 笔记:Rust错误处理最佳实践 |
| 21 | 复习 | Solidity高级语法 + Rust中级特性 | 重写Crowdfunding合约 / 整理Rust核心概念图谱 | Week3总结 |
Week 4: 设计模式 + Rust异步与CLI
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 22 | Solidity | 设计模式:工厂模式/代理模式/状态机/Pull over Push | 写一个TokenFactory合约:一键创建新ERC20 | TokenFactory代码 + 设计模式笔记 |
| 23 | Rust | 异步编程:async/await + tokio + Future | 搭建tokio项目,写异步HTTP请求 | 笔记:Rust异步编程 |
| 24 | Solidity | 时间锁(Timelock) + 多签逻辑 + 合约升级概念(代理模式原理) | 写一个简单Timelock合约 + 理解代理模式存储槽 | Timelock合约 + 代理模式笔记 |
第一阶段检验标准:
- 能从零手写ERC20/ERC721合约
- 理解Solidity所有核心语法和常用设计模式
- Rust所有权/借用/生命周期理解清晰
- rustlings完成80%+
第二阶段:框架实战 (Day 25-48)
Week 5: Foundry工具链 + Rust项目实战
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 25 | Solidity | Foundry安装配置 + forge init/build/test + 项目结构 | 把之前的ERC20迁移到Foundry项目,写第一个测试 | Foundry项目模板 |
| 26 | Rust | serde序列化 + reqwest HTTP客户端 + JSON处理 | 写一个调用Etherscan API查询余额的CLI工具 | 链上查询CLI v1 |
| 27 | Solidity | Foundry测试深入:setUp/assert/vm.prank/vm.deal/vm.expectRevert | 为ERC20写完整测试套件(10+测试用例) | ERC20测试套件 |
| 28 | Rust | clap命令行解析 + 项目结构化(mod/lib/bin) | 增强CLI:支持多命令(balance/tx/token),结构化项目 | 链上查询CLI v2 |
| 29 | Solidity | Foundry高级:fork测试/fuzz测试/gas报告/脚本部署 | 写forge script部署到Sepolia + fuzz测试ERC20 | 部署脚本 + Fuzz测试 |
| 30 | Rust | 文件IO + 配置管理(toml) + 日志(tracing) | CLI添加配置文件、日志输出、多链支持 | 链上查询CLI v3(完整版) |
| 31 | 复习 | Foundry工具链总结 + Rust CLI总结 | 从零搭建一个新Foundry项目(限时30min) | Week5总结 |
Week 6: DeFi合约开发(上) + Solana入门
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 32 | Solidity | Vault合约模式:deposit/withdraw/shares计算(ERC4626) | 手写SimpleVault合约(按份额存取) | SimpleVault合约+测试 |
| 33 | Rust/Solana | Solana架构总览:Account模型/Program/Instruction/Transaction + 与EVM对比 | 安装Solana CLI + solana-keygen + 领devnet SOL | 笔记:Solana vs EVM架构对比 |
| 34 | Solidity | Staking合约:质押/解质押/奖励计算(rewardPerToken模式) | 手写Staking合约(参考Synthetix的StakingRewards) | Staking合约+测试 |
| 35 | Rust/Solana | Anchor框架入门:#[program]/#[derive(Accounts)]/#[account] | 安装Anchor + anchor init + 写Hello World程序 | 第一个Anchor程序 |
| 36 | Solidity | 闪电贷原理 + 简单闪电贷合约 | 写一个FlashLoan合约(借→用→还+手续费) | FlashLoan合约+测试 |
| 37 | Rust/Solana | Anchor账户约束:#[account(init/mut/has_one/constraint)] + PDA推导 | 写一个Counter程序(初始化+递增+PDA存储) | Counter程序+测试 |
| 38 | 复习 | DeFi合约模式总结 + Solana概念梳理 | 画DeFi合约交互图 / 默写PDA推导流程 | Week6总结 |
Week 7: DeFi合约开发(下) + Solana Token
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 39 | Solidity | AMM原理:恒定乘积公式 + 添加/移除流动性 + swap计算 | 手写SimpleAMM合约(两个token的swap池) | SimpleAMM合约+测试 |
| 40 | Rust/Solana | SPL Token标准 + Associated Token Account(ATA) + Token操作 | 用Anchor写Token铸造程序(create mint + mint to) | Token铸造程序 |
| 41 | Solidity | AMM进阶:手续费/滑点保护/价格预言机接口 | 给SimpleAMM添加0.3%手续费+最小输出量检查 | 增强版AMM+测试 |
| 42 | Rust/Solana | CPI(跨程序调用) + Token转账/燃烧 | 写一个Vault程序(存入/取出SPL Token,用CPI调用Token程序) | Solana Vault程序 |
| 43 | Solidity | 预言机集成:Chainlink Price Feed + 价格数据使用 | 写一个PriceConsumer合约 + Fork主网测试价格获取 | 预言机集成示例+测试 |
| 44 | Rust/Solana | Solana事件(emit!) + 前端交互(anchor-client/IDL) | 给Vault添加事件 + 用TypeScript客户端调用 | Vault+前端调用脚本 |
| 45 | 复习 | AMM/预言机 + Solana Token操作 | 重新部署AMM到Sepolia / 重新部署Vault到devnet | Week7总结 |
Week 8: 合约升级与治理 + Solana进阶
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 46 | Solidity | 代理模式深入:Transparent Proxy/UUPS/Beacon + 存储冲突 | 用OpenZeppelin写UUPS可升级合约(V1→V2) | 可升级合约示例+测试 |
| 47 | Rust/Solana | Solana PDAs进阶:多层PDA/PDA签名/种子设计 | 写一个Escrow程序(买卖双方托管交易) | Escrow程序 |
| 48 | Solidity | 治理合约:Governor + TimelockController + 投票机制 | 用OpenZeppelin Governor写简单DAO治理 | DAO治理合约+测试 |
第二阶段检验标准:
- 熟练使用Foundry(测试/fuzz/fork/部署)
- 能手写Vault/Staking/AMM/FlashLoan合约
- 能用Anchor开发Solana程序(Token/Vault/Escrow)
- 理解代理模式和合约升级
- Rust CLI项目完成
第三阶段:安全审计 (Day 49-72)
Week 9: 常见漏洞学习 + Move入门
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 49 | Solidity | 重入攻击(Reentrancy):原理/案例(DAO Hack)/防护(CEI模式/ReentrancyGuard) | Ethernaut #10 Re-entrancy + 写一个有漏洞的合约再修复 | 笔记:重入攻击全解 |
| 50 | Move | Move语言概述:资源模型(Resource) + 能力系统(copy/drop/store/key) + 与Solidity对比 | 安装Sui CLI + sui client + 领devnet SUI | 笔记:Move vs Solidity |
| 51 | Solidity | 整数溢出/tx.origin钓鱼/自毁攻击(selfdestruct) | Ethernaut #5 Token + #4 Telephone + #7 Force | 漏洞笔记:整数/tx.origin/自毁 |
| 52 | Move | Move基础语法:module/struct/function/acquires + 资源的move语义 | 写第一个Move模块:Counter(存储/递增/读取) | Counter Move模块 |
| 53 | Solidity | 权限漏洞/未初始化代理/存储碰撞 | Ethernaut #16 Preservation + #6 Delegation | 漏洞笔记:权限与存储 |
| 54 | Move | Sui对象模型:owned objects/shared objects/immutable objects + 转移策略 | 写一个NFT模块(铸造/转让/销毁) | Sui NFT模块 |
| 55 | 复习 | 漏洞分类总结 + Move概念梳理 | 整理漏洞Checklist / 画Move资源生命周期图 | Week9总结 + 漏洞速查表 |
Week 10: Ethernaut通关 + Sui开发
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 56 | Solidity | 闪电贷攻击/价格操纵/只读重入 | Ethernaut剩余关卡(选做8-10关) | 闪电贷/价格操纵笔记 |
| 57 | Move/Sui | Sui Coin标准 + 泛型 + Witness模式 | 写一个自定义Coin模块(create/mint/burn) | Sui Coin模块 |
| 58 | Solidity | 前端漏洞(签名重放/EIP712) + 中心化风险 | Ethernaut通关冲刺 | 签名安全笔记 |
| 59 | Move/Sui | Sui事件 + 动态字段(dynamic fields) + 表(Table) | 给NFT模块添加属性系统(动态字段存储metadata) | 增强版Sui NFT |
| 60 | Solidity | Damn Vulnerable DeFi:#1 Unstoppable + #2 Naive Receiver | 解题+写解题思路 | DVDF解题笔记#1-2 |
| 61 | Move/Sui | Sui Transfer Policy + Kiosk(NFT交易框架) | 用Kiosk框架写NFT市场模块 | NFT市场模块 |
| 62 | 复习 | Ethernaut总结 + Sui开发总结 | 整理所有Ethernaut解题笔记 / Sui模块回顾 | Week10总结 |
Week 11: 审计方法论 + Sui DeFi
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 63 | Solidity | 审计方法论:流程/Checklist/报告格式 + 工具链(Slither/Aderyn/Mythril) | 用Slither扫描自己之前写的合约,修复所有warning | 审计工具使用笔记 |
| 64 | Move/Sui | Sui DeFi模式:共享对象 + 流动性池设计 | 写一个SimpleSwap模块(两种Coin交换) | Sui Swap模块 |
| 65 | Solidity | 手动审计练习(1):审计一个简单Token合约(500行内) | 找一个GitHub开源合约,写审计报告 | 审计报告#1 |
| 66 | Move/Sui | Move Prover(形式化验证)入门 + Sui安全最佳实践 | 给Counter模块添加spec验证 | Move安全笔记 |
| 67 | Solidity | 手动审计练习(2):审计一个DeFi合约(Vault/Staking) | 找一个DeFi合约,写详细审计报告 | 审计报告#2 |
| 68 | Move/Sui | Sui TypeScript SDK + 前端集成 | 用TS SDK调用之前写的Sui模块 | Sui前端调用示例 |
| 69 | 复习 | 审计方法论总结 + Sui开发总结 | 完善审计Checklist / 整理Sui项目代码 | Week11总结 + 审计Checklist |
Week 12: DVDF挑战 + Move安全
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 70 | Solidity | DVDF #3 Truster + #4 Side Entrance | 解题+分析DeFi组合攻击 | DVDF解题笔记#3-4 |
| 71 | Move | Move安全:溢出/权限/闪电贷在Move中的处理 + Move审计案例 | 分析一个Move合约审计报告 | Move安全分析笔记 |
| 72 | Solidity | DVDF #5 The Rewarder + #8 Puppet | 解题+闪电贷攻击实战 | DVDF解题笔记#5+8 |
第三阶段检验标准:
- Ethernaut通关(至少15关)
- DVDF完成5-6题
- 能使用Slither/Aderyn等自动化审计工具
- 写出2份规范的审计报告
- 掌握Move资源模型和Sui对象模型
- 能用Sui开发NFT/Coin/Swap模块
第四阶段:综合实战 (Day 73-90)
Week 13: 综合DeFi项目 + Solana安全
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 73 | Solidity | 综合项目启动:设计一个Mini Lending协议(存款/借款/清算) | 写项目规格文档 + 核心数据结构设计 | Mini Lending设计文档 |
| 74 | Rust/Solana | Solana安全:常见漏洞(缺少签名验证/PDA种子碰撞/整数溢出) | 分析3个Solana审计报告的常见问题 | Solana安全笔记 |
| 75 | Solidity | Mini Lending:存款池 + 利率模型(简化版) | 实现deposit/withdraw + 利率计算 | Lending核心合约v1 |
| 76 | Rust/Solana | Solana性能优化:账户数据打包/compute units/并行交易 | 优化之前的Vault程序(减少CU消耗) | Solana优化笔记 |
| 77 | Solidity | Mini Lending:借款 + 健康因子 + 预言机集成 | 实现borrow/repay + healthFactor + Chainlink集成 | Lending合约v2 |
| 78 | Rust/Solana | Anchor高级:零拷贝反序列化/剩余账户/自定义错误 | 给Escrow程序添加超时取消+自定义错误 | 增强版Escrow程序 |
| 79 | 复习 | Mini Lending进度检查 + Solana项目回顾 | 写Lending合约测试 / 部署Solana项目到devnet | Week13总结 |
Week 14: 综合项目完成 + 多链对比
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 80 | Solidity | Mini Lending:清算机制 + 清算奖励 | 实现liquidate函数 + 清算测试用例 | Lending合约v3(清算) |
| 81 | 多链 | EVM vs Solana vs Move 架构对比:账户模型/并发/安全/开发体验 | 写对比分析文章(上):架构与编程模型 | 多链对比文章(上) |
| 82 | Solidity | Mini Lending:完整测试套件 + Gas优化 + 事件/视图函数 | 写20+测试用例 + gas snapshot优化 | Lending完整测试 |
| 83 | 多链 | EVM vs Solana vs Move:DeFi模式/NFT模式/安全模型对比 | 写对比分析文章(下):应用层与生态 | 多链对比文章(下) |
| 84 | Solidity | Mini Lending:自我审计 + 修复 + 写审计报告 | 用Slither扫描 + 手动审计 + 修复漏洞 | Mini Lending审计报告 |
| 85 | 多链 | 多链产品策略:何时选EVM/Solana/Sui + 跨链方案 | 写PM视角的多链选择框架 | 多链选择指南(PM视角) |
| 86 | 复习 | 综合项目收尾 + 多链对比整合 | 部署Mini Lending到Sepolia + 整理所有代码 | Week14总结 |
Week 15: Gas优化 + DVDF冲刺 + 总结
| Day | 方向 | 学习内容 | 实操任务 | 产出 |
|---|---|---|---|---|
| 87 | Solidity | Gas优化专题:存储布局/calldata vs memory/短路/打包/不可变量 | 优化Mini Lending合约(目标降低20%gas) | Gas优化技巧笔记 |
| 88 | Solidity | DVDF冲刺:挑选2-3道新题 | 解题 + 写解题报告 | DVDF补充解题笔记 |
| 89 | 全栈 | 90天成果整理:所有合约代码/审计报告/笔记/对比文章 | 整理GitHub仓库README + 作品集页面 | 完整作品集 |
| 90 | 总结 | 90天复盘:知识图谱/能力评估/下一步方向 | 写90天总结文档 + 更新简历技能点 | 90天总结文档 |
每日学习模板
# SC Day X: [主题名称]
> **日期**: YYYY-MM-DD
> **方向**: Solidity / Rust / Move / Solana / 多链
> **阶段**: 基础构建 / 框架实战 / 安全审计 / 综合实战
> **标签**: #solidity #rust #move #solana #security #defi
---
## 今日目标
- [ ] 目标1
- [ ] 目标2
- [ ] 目标3
## 核心概念
### 概念1: [名称]
[详细说明]
### 概念2: [名称]
[详细说明]
## 代码实战
```solidity/rust/move
// 今日核心代码
踩坑记录
- 问题1 → 解决方案
- 问题2 → 解决方案
面试关联
- 可能的面试题: [问题]
- 答案要点: [要点]
参考资源
明日预告
- 下一天将学习...
---
## 核心学习资源
### Solidity
| 资源 | 用途 | 优先级 |
|------|------|--------|
| [Solidity by Example](https://solidity-by-example.org/) | 语法速查+练习 | P0 必用 |
| [Foundry Book](https://book.getfoundry.sh/) | 工具链文档 | P0 必用 |
| [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/) | 标准实现参考 | P0 必用 |
| [Ethernaut](https://ethernaut.openzeppelin.com/) | 安全CTF入门 | P0 必做 |
| [Damn Vulnerable DeFi](https://www.damnvulnerabledefi.xyz/) | DeFi安全CTF | P0 必做 |
| [Secureum](https://secureum.xyz/) | 审计知识体系 | P1 重要 |
| [Solidity Docs](https://docs.soliditylang.org/) | 官方文档 | P1 参考 |
| [Patrick Collins Foundry Course](https://www.youtube.com/watch?v=umepbfKp5rI) | 视频教程 | P1 推荐 |
| [Cyfrin Updraft](https://updraft.cyfrin.io/) | 系统化课程 | P1 推荐 |
| [EVM Codes](https://www.evm.codes/) | 操作码参考 | P2 进阶 |
### Rust
| 资源 | 用途 | 优先级 |
|------|------|--------|
| [The Rust Book](https://doc.rust-lang.org/book/) | 语言教程 | P0 必读 |
| [rustlings](https://github.com/rust-lang/rustlings) | 刷题练习 | P0 必做 |
| [Rust by Example](https://doc.rust-lang.org/rust-by-example/) | 示例速查 | P1 参考 |
| [Tokio Tutorial](https://tokio.rs/tokio/tutorial) | 异步编程 | P1 重要 |
### Solana
| 资源 | 用途 | 优先级 |
|------|------|--------|
| [Anchor Book](https://www.anchor-lang.com/) | 框架文档 | P0 必用 |
| [Solana Cookbook](https://solanacookbook.com/) | 实用参考 | P0 必用 |
| [Solana Developer Docs](https://solana.com/docs) | 官方文档 | P1 参考 |
| [Solana Program Security](https://github.com/coral-xyz/sealevel-attacks) | 安全案例 | P1 重要 |
### Move/Sui
| 资源 | 用途 | 优先级 |
|------|------|--------|
| [Sui Developer Docs](https://docs.sui.io/) | 官方文档 | P0 必用 |
| [Move Book](https://move-book.com/) | 语言教程 | P0 必读 |
| [Sui Examples](https://examples.sui.io/) | 示例代码 | P1 参考 |
| [Sui Move Intro Course](https://github.com/sui-foundation/sui-move-intro-course) | 入门课程 | P1 推荐 |
---
## 90天成果清单
### 合约/程序代码
| # | 项目 | 链 | 复杂度 |
|---|------|-----|--------|
| 1 | ERC20(手写) | EVM | 基础 |
| 2 | ERC721(手写) | EVM | 基础 |
| 3 | TodoList | EVM | 基础 |
| 4 | Crowdfunding | EVM | 中等 |
| 5 | TokenFactory | EVM | 中等 |
| 6 | Timelock | EVM | 中等 |
| 7 | SimpleVault(ERC4626) | EVM | 中等 |
| 8 | StakingRewards | EVM | 中等 |
| 9 | FlashLoan | EVM | 中等 |
| 10 | SimpleAMM | EVM | 高 |
| 11 | UUPS可升级合约 | EVM | 高 |
| 12 | DAO治理 | EVM | 高 |
| 13 | **Mini Lending协议** | EVM | 高(综合) |
| 14 | Rust链上查询CLI | 工具 | 中等 |
| 15 | Counter程序 | Solana | 基础 |
| 16 | Token铸造程序 | Solana | 中等 |
| 17 | Vault程序 | Solana | 中等 |
| 18 | Escrow程序 | Solana | 高 |
| 19 | Counter模块 | Sui/Move | 基础 |
| 20 | NFT模块 | Sui/Move | 中等 |
| 21 | Coin模块 | Sui/Move | 中等 |
| 22 | NFT市场模块 | Sui/Move | 高 |
| 23 | SimpleSwap模块 | Sui/Move | 高 |
### 安全审计
| # | 内容 | 产出 |
|---|------|------|
| 1 | Ethernaut 15+关 | 解题笔记集 |
| 2 | DVDF 6-8题 | 解题报告集 |
| 3 | 自动化审计工具使用 | 工具对比笔记 |
| 4 | 手动审计练习×2 | 2份审计报告 |
| 5 | Mini Lending自审 | 自审报告 |
| 6 | 漏洞Checklist | 速查表 |
### 文章/文档
| # | 标题 | 类型 |
|---|------|------|
| 1 | EVM vs Solana vs Move 架构对比(上) | 技术分析 |
| 2 | EVM vs Solana vs Move 应用层对比(下) | 技术分析 |
| 3 | 多链选择指南(PM视角) | 产品策略 |
| 4 | 90天总结 | 复盘总结 |
### 能力验证
- [ ] 能独立写中等复杂度Solidity合约并部署
- [ ] 能识别重入/闪电贷/权限等常见漏洞
- [ ] 能使用Foundry进行开发测试部署全流程
- [ ] 能用Anchor开发Solana程序
- [ ] 能用Move开发Sui模块
- [ ] 能从架构层面对比三大智能合约平台
- [ ] 能写规范的审计报告
- [ ] 能从PM视角评估多链部署策略
---
## 环境准备清单
### Day 1 前完成
```bash
# Solidity
# 1. 安装 Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup
# 2. 安装 Node.js (如已有可跳过)
# 3. 安装 VS Code Solidity 插件 (Nomic Foundation)
# 4. MetaMask 准备 Sepolia 测试网ETH
# Rust
# 1. 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 2. 安装 rustlings
cargo install rustlings
# 3. VS Code 安装 rust-analyzer 插件
# Solana (Week 5 前安装)
# 1. 安装 Solana CLI
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
# 2. 安装 Anchor
cargo install --git https://github.com/coral-xyz/anchor anchor-cli
# Sui (Week 9 前安装)
# 1. 安装 Sui CLI
cargo install --locked --git https://github.com/MystenLabs/sui.git sui
周日复习模板
# Week X 复习
## 本周完成
- [x] ...
- [x] ...
## 知识盲点
- 需要加强的点1
- 需要加强的点2
## 代码Review
- 回顾本周写的合约/程序
- 有没有更好的写法?
- 安全性检查
## 下周预告
- 下周核心目标
- 需要提前准备的环境/资源