先读:从易到难学习路线
这本书的阅读顺序不按“源码文件复杂度”排列,而按学习者的能力爬坡排列。正确的节奏是:先知道 DeepBook 能做什么,再用 SDK 和最小交易跑通,再回头读 Move 源码,最后进入 Margin、Predict、Indexer 和生产系统。
六阶路线
| 阶段 | 目标 | 章节 | 读完后应该能做什么 |
|---|---|---|---|
| 第一阶:建立直觉 | 不急着读源码,先理解 CLOB、Sui Move 基础和 DeepBook 的产品边界 | ch00、ch01、ch02 | 能解释 DeepBook 是什么,能查询池子对象,能读懂 Move 基本结构 |
| 第二阶:先用起来 | 先通过 SDK、PTB 和最小应用跑通交易体验 | ch12、ch06 | 能初始化 SDK,查询池子,创建 BalanceManager,构造限价单、市价单和撤单 |
| 第三阶:回到 Spot 核心源码 | 在已经会用的基础上,精读现货核心 | ch03、ch04、ch05 | 能把下单、撮合、结算、费用、治理和余额路径串起来 |
| 第四阶:高级组合和数据 | 学 hot potato、闪电贷、事件索引和 Server 查询 | ch07、ch13 | 能解释组合交易的资源闭环,能设计订单、成交、闪电贷和 Margin 事件索引 |
| 第五阶:扩展产品 | 学 Margin 和 Predict 的协议结构与应用边界 | ch08、ch09、ch10、ch11 | 能构建杠杆交易、风险面板、清算机器人或预测市场原型 |
| 第六阶:产品化交付 | 把前面的能力收束成真实产品 | ch14、ch15 | 能设计交易终端、做市机器人、数据服务,并完成测试、安全和部署清单 |
为什么先 SDK 后源码
直接从 pool.move、book.move、state.move 开始读,很容易把 DeepBook 读成一堆函数。更好的顺序是先完成一个最小体验:
- 查一个池子。
- 查订单簿。
- 创建或加载
BalanceManager。 - 构造一笔 dry run 的限价单。
- 看到错误,再回到源码查原因。
这样读源码时,函数不再是孤立 API,而是你已经遇到过的交易步骤。TradeProof、Clock、type arguments、Coin<T>、Balance<T>、abort code 和事件都会变成具体问题。
每章的四段式
后续写作要避免“机械源码解读”。每章应按四段推进:
- 场景问题:读者为什么需要这一章,例如“为什么下单前钱包有钱仍然失败”。
- 最小实验:先给一个可运行、可观察的动作,例如 query、dry run、PTB 或事件查询。
- 源码拆解:实验跑通后再进入 Move 源码,解释对象、资源、权限和事件。
- 工程升级:把源码结论落到 SDK、前端、Indexer、机器人、风控或生产部署。
如果一节只有源码结构,没有场景和实验,它就会像文档;如果一节只有代码调用,没有源码和失败边界,它就不够高级。
难度标尺
本书后续会用五个难度层级控制节奏:
- L1 使用者:知道功能是什么,能查询和观察。
- L2 集成者:能用 SDK/PTB 发起交易,并处理 dry run。
- L3 源码读者:能沿 Move 调用链解释状态变化。
- L4 协议构建者:能设计组合交易、权限边界和失败路径。
- L5 生产负责人:能处理索引、监控、测试、安全和部署。
章节不是越靠后越好。高级读者也应该从 L1、L2 快速扫过,因为真实工程失败经常不是算法看不懂,而是对象、网络、权限、索引和用户体验没有接好。