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

ch10-01 版本状态、网络状态和产品边界

返回本章

先看市场问题

读“版本状态、网络状态和产品边界”时先抓参数边界。Predict 的关键不是某个函数名,而是 oracle、expiry、strike、vault 和 payout 之间的关系。

源码入口

  • PREDICT_MIGRATION.md:PR 1/2 合入状态与后续阶段的计划状态。
  • packages/predict/sources/oracle.movevault/vault.moveconfig/pricing_config.moveconfig/risk_config.move:迁移文档中已合入能力的核心文件。
  • packages/predict/sources/predict.moveregistry.movepredict_manager.movemarket_key/range_key.move:本书采用的 GitHub 源码快照中可读到的后续模块,生产状态需要另行核对。

读市场参数

Predict 是 DeepBook 生态里的预测市场/二元期权协议,不是 DeepBookV3 spot order book,也不是 DeepBook Margin 借贷池。它复用 DeepBook 的 BalanceManager 账户模型,但资金池、oracle、PLP 和结算逻辑都在 packages/predict 内部实现。

从迁移计划看,稳定事实是 PR 1 与 PR 2:oracle.movemath.moveconstants.movevault.movepricing_config.moverisk_config.move 已列为 merged。PR 3 到 PR 11 仍标记为 next、blocked 或未开始。GitHub 源码已经出现更多模块,适合源码精读和本地仿真,但生产应用必须按实际部署包、审计状态和网络公告再确认,不能假设 Predict Indexer、Predict Server、部署脚本和 Oracle 服务已经主网稳定。

文档写作时建议把 Predict 标为“本书采用的 GitHub 源码快照 + 迁移中协议”。如果要在应用里展示网络状态,应把 package ID、registry ID、predict object ID、oracle ID 和发布网络都放进配置,并附带 migrationStatusreleaseChannel 字段,避免 UI 把示例对象误读为主网。

本章后续小节提到的 Indexer、Server、Oracle service 都只作为需求或未来读模型讨论。可靠的链上事实来自 Move 对象、事件和 dry run 结果;链下服务在迁移文档未完成前不能写成稳定依赖。

Predict 边界判断

  • 每个 Predict 说明都先标注来源是 PREDICT_MIGRATION.md 还是本书采用的 GitHub 源码快照。
  • 写主网能力时必须有实际 package/object ID 和部署状态;没有时只写本地仿真或接口设计。
  • 把 Spot、Margin、Predict 的资金池分开描述,不把 Predict vault 写成 DeepBook pool。

动手检查

  • 哪些模块在迁移文档中明确 merged,哪些只是GitHub 源码可见?
  • 如果前端配置里没有 Predict package ID 和版本状态,应该阻止哪些交易入口?
  • 为什么不能把 Predict Indexer/Server 写成已经上线的稳定能力?