本文是一份面向团队的完整教程,把 The Graph 的关键环节串成一条主线,帮助你从零开始构建可上线运营的生产级子图。
一、需求与建模
动手前先和业务方对齐需求。明确「要查什么、查多频繁、能容忍多大延迟」三个问题。再据此设计实体与字段,避免后期反复改 schema。建议用 Mermaid 画出实体关系图,与团队评审通过后再写代码。延伸阅读见 The Graph入门指南。
二、合约与事件梳理
收集所有需要监听的合约地址与起始区块。对每个事件列出参数表,确保 Mapping 函数完全覆盖。常见的字段类型转换在 The Graph常见错误 中已有总结,开发前先看一遍可以少踩很多坑。
三、Mapping 与单元测试
Mapping 函数遵循「轻量、幂等、可测试」三原则。每个 handler 都用 Matchstick 写至少一条用例。Mapping 模板可参考 The Graph代码示例,复制即用。
四、本地联调
本地 graph-node 起来后,跑通从事件捕获到实体写入的完整链路。GraphQL Playground 中验证关键查询是否符合预期。需要的话,把测试用例自动化进 CI。
五、部署与发布
按 The Graph部署教程 的步骤,把子图发布到托管服务或去中心化网络。每次发布打 git tag,并保留旧版本作为回滚兜底。
六、监控与告警
生产环境必须配套监控。建议从同步进度、handler 错误率、查询响应时间三类指标入手,并按团队 SLA 设置告警阈值。仪表盘搭建可对照 The Graph进阶教程。
七、长期演进
生产级子图不是「上线即结束」。合约升级、链上结构变化、产品需求迭代都会带来新的开发任务。建议每月做一次回顾,明确下一阶段的演进目标。
八、文档与培训
把整个流程沉淀为团队手册,包括建模规范、命名约定、发布 checklist 与复盘模板。新人按手册走一遍即可独立交付,参考 The Graph最佳实践 中的培训方案。
九、与上下游协作
子图既服务前端,也服务数据科学团队。建议每两周做一次跨团队对齐,把上游变更与下游需求同步在同一个文档里。
十、复盘与改进
每个版本上线后做一次复盘,记录哪些做得好、哪些需要改进。把改进项纳入下一季度的 OKR,让团队的子图能力持续提升。
把这套流程跑通三次,团队就具备了交付任何业务子图的能力。剩下的,就是用工程能力把 The Graph 的潜力释放到最大。