Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

阅读说明:把 DeepBook 当作高级 Move 案例

这本书不是 DeepBook API 清单,也不是 Move 语法手册。更合适的读法是:把 DeepBook 当作一个真实、复杂、资金敏感的 Move 协议案例,用它反过来学习 Sui Move 的对象模型、资源约束、权限设计、组合交易、事件索引和生产工程。

阅读顺序以 从易到难学习路线 为准。章节目录中的文件编号是工程组织编号,不代表必须按源码复杂度硬读。

本书的三条阅读线

第一条线是产品线。你要知道 DeepBookV3、Margin、Predict、SDK、Indexer、Server 分别解决什么问题,哪些能力适合普通交易应用,哪些能力适合做市、清算、套利、预测市场或数据系统。

第二条线是源码线。每个关键功能都要落到 Move 文件、函数入口、对象字段、事件和 abort code。读源码时不要一页页顺读,而是沿一次交易走:对象从哪里来,谁能 mutably borrow,哪些资源被消费,哪些余额被 split 或 join,失败时哪个 assert 触发。

第三条线是工程线。真正写应用时,你要构造 PTB、做 dry run、处理对象版本、格式化整数、索引事件、展示用户能理解的错误,并在生产环境里监控资金和数据延迟。这些经验会穿插在每章的“Move 高阶穿插点”和小节提示中。

如何使用“Move 高阶穿插点”

每章导读中的“Move 高阶穿插点”不是额外阅读材料,而是本章的主线问题。阅读前先看这些提示,带着问题进源码。读完后回到提示,检查自己是否能用 DeepBook 的真实函数和对象回答。

例如,读 BalanceManager 时不要只记住它“管理余额”。你要问:

  • owner、trader、TradeCapDepositCapWithdrawCap 分别保护什么边界?
  • Coin<T> 何时进入协议内部变成 Balance<T>
  • 哪些函数需要 TradeProof,为什么不能只看交易发送者地址?
  • 事件如何让 Indexer 还原余额流水?

这类问题比背 API 更接近高级 Move 开发。

小节中的提示框

后续小节会逐步加入三类提示框:

Move 技巧:解释资源、泛型、ability、对象借用、hot potato、动态字段、事件和 abort code 的实际用法。

源码旁白:告诉你这段源码应该按什么顺序读,哪些名字容易误解,哪些字段决定状态迁移。

工程提醒:把源码结论落到 SDK、PTB、Indexer、UI、风控或生产监控中。

如果某一节看起来像文档说明,就要继续补这三类提示,直到它能回答“我读完后能写出更可靠的 Move 或 DeepBook 应用吗”。

建议的学习方式

每章至少做三件事:先画对象图,再追一条函数调用链,最后写一个最小实验。对象图帮助你理解所有权和共享对象;调用链帮助你理解状态迁移;最小实验帮助你暴露参数、权限和余额错误。

对 DeepBook 这类协议来说,真正的理解不是知道函数名,而是能解释失败路径。一个高级 Move 开发者应该能看到 abort code、事件缺失、余额不足、资源未消费或对象版本不匹配时,迅速判断问题属于哪一层。

读者目标

如果你是 Move 学习者,这本书会把真实协议当作练习场。你会看到资源模型如何服务金融安全,而不是停留在玩具例子。

如果你是 DeepBook 爱好者,这本书会帮你从产品使用进入协议理解。你会知道订单簿、Margin、Predict、闪电贷、Indexer 和 SDK 是如何组合起来的。

如果你是应用开发者,这本书的目标是让你能独立构建一个可靠的 DeepBook 应用,并知道每个工程决策背后的源码依据。