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

ch16-10 用 Sandbox 承接本书练习

返回本章

前面章节的练习分散在 Move、SDK、Indexer、应用和部署里。Sandbox 可以把它们收束成一个本地学习闭环:读源码,跑本地链,执行交易,看事件,查读模型,改前端或脚本,再重置环境重来。

对应全书路线

本书章节Sandbox 中的练习方式
ch02 Move 基础用自定义合约模板练习 Move.toml、environment、发布和对象借用。
ch04 撮合源码观察 market maker 的 POST_ONLY 挂单,再手动吃单,复盘 fill。
ch05 BalanceManager用 dashboard 创建、充值、交易,理解账户余额与钱包余额的差异。
ch07 闪电贷在 localnet 中验证组合交易 wrapper 和失败路径。
ch09 Margin 应用利用本地 oracle、USDC、SUI pool 和 margin package 做风险演练。
ch12 SDK 集成从 dashboard SDK 片段迁移到自己的 TypeScript 服务。
ch13 Indexer/Server用交易 digest 对照 event、PostgreSQL 和 REST response。
ch14 应用构建把 dashboard 当参考产品,拆出自己的交易终端或机器人 MVP。
ch15 测试部署用 reset、logs、manifest、integration tests 形成交付证据。

推荐学习节奏

第一轮只跑通,不改代码。确认 dashboard、faucet、market maker 和交易页面都能工作。

第二轮开始记录证据。每做一个动作,记录输入对象、交易 digest、事件、读模型响应和 UI 变化。

第三轮改自定义合约。先写 wrapper,不急着做策略;先证明依赖、发布、对象传参和错误定位都清楚。

第四轮改应用。把 dashboard 里的流程拆成你自己的 SDK service、API client 和 UI 状态机。

第五轮做破坏性测试。停掉 oracle、让 indexer 落后、使用旧 manifest、让 faucet 地址错误,观察系统如何失败。

让练习不像文档

真正的练习不应该只是“运行命令得到输出”。可以把每个练习改成一个小问题:

  • 为什么创建 BalanceManager 要注册并共享对象?
  • 为什么 market maker 用 POST_ONLY,而不是普通限价单?
  • 为什么交易成功后 UI 仍可能短暂看不到成交?
  • 为什么自定义合约发布需要 Pub.localnet.toml
  • 为什么重置 localnet 后旧 SDK 配置会变成危险输入?

这些问题能把 DeepBook 学习从“会调用”推进到“懂系统”。

本节验收

  • 能把本书至少五章的练习迁移到 sandbox。
  • 能为每个练习写出链上证据、读模型证据和 UI 证据。
  • 能设计一个专属于自己项目的 sandbox 学习路线。