子图代码写完后,真正考验工程能力的是「怎么稳定地发布出去」。The Graph 提供了两条路径:托管服务与去中心化网络。本文针对币安智能链与以太坊主流项目,讲解每条路径的关键步骤。
托管服务的快速上线
托管服务最适合中小团队。前置工作只有两步:在 thegraph.com 创建账号、生成访问令牌。本地执行 graph init 后会自动生成模板,再 graph codegen 与 graph build 完成产物构建。最后一行 graph deploy --product hosted-service 即可发布。完整命令清单与 ABI 校验流程可参考 The Graph官方文档。
去中心化网络的发布流程
去中心化网络对运营要求更高,需要先质押一定数量的 GRT 作为信号。子图发布时会得到一个唯一的 IPFS 哈希,由 Indexer 自主选择是否承接索引任务。建议在发布前与几个稳定 Indexer 沟通,避免上线后无人接单导致查询不可用。流程细节与签名验证步骤可对照 The Graph进阶教程。
版本管理与灰度切换
无论哪条路径,都建议给每次发布打上语义化版本号。前端通过环境变量切换不同版本的 endpoint,灰度阶段保留旧版本作为回滚兜底。一旦发现严重 bug,可在分钟级别完成切回。
CI/CD 集成
把 graph build 与 graph deploy 写入 CI Pipeline 后,开发者只需要 push 代码即可触发发布。配合 Slack 或 Discord webhook,把同步进度与查询健康度反馈到群里,整个团队的响应速度都会显著提升。
部署后的健康监控
上线只是开始,更重要的是监控。建议至少设置三类告警:同步落后区块数、handler 错误率、关键查询响应时间。指标异常时按照 The Graph常见错误 中的预案逐条排查,能把恢复时间从小时级缩短到分钟级。
成本与收益评估
托管服务在可见时间内仍免费,但去中心化网络需要支付查询费。建议结合 The Graph最佳实践 给出的成本模型,做出对项目最优的选择。把发布做得稳、做得快,是子图项目长期价值的基础。