子图 > 开发
5 分钟
子图
什么是子图?
子图从区块链中提取数据,对其进行处理并存储,以便通过 GraphQL 轻松查询。
子图功能
- Access Data: 子图可以为web3启用区块链数据的查询和索引。
- Build: 开发者可以构建、部署和发布子图到The Graph网络。若要启动,请查看子图开发者Quick Star。
- Index & Query: 一旦子图被索引,任何人都可以查询。 探索并查询在Graph Explorer中发布到网络的所有子图。
子图内部
子图清单 subgraph.yaml 定义了您的子图索引的智能合约和网络,这些合约中需要关注的事件,以及如何将事件数据映射到 Graph 节点存储并允许查询的实体。
子图定义由几个文件组成:
-
subgraph.yaml: 包含子图清单 -
schema.graphql: 一个 GraphQL 模式文件,它定义了为您的子图存储哪些数据,以及如何通过 GraphQL 查询这些数据 -
mapping.ts:AssemblyScript映射将事件数据转换为模式中定义的实体的代码(例如本指南中的mapping.ts)
要了解更多关于每个子图组件的信息,请查看 创建子图。
子图生命周期
下面是子图生命周期的一般概述:

子图开发
本地创建
优秀的子图从本地开发环境和单元测试开始。 开发者使用 GraphCLI,一个命令行界面工具用于在图上构建和部署子图。 他们也可以使用 GraphTypeScript 和 Matchstick 创建强大的子图。
部署到Subgraph Studio
一旦定义后,子图可以部署到SubgraStudio在Subgraph Studio中,您可以做以下工作:
- 使用其发布环境来索引已部署的子图并使其可供审核。
- 验证您的子图没有任何索引错误,能够正常工作。
发布到网络
当你喜欢你的子图时,你可以发布它 到The Graph网络。
- 这是一种网上操作,它注册了子图并使索引人能够发现它。
- 发布的子图有相应的 NFT,它定义了子图的所有权。您可以通过发送 NFT 来传输子图的所有权。
- 已发布的子图有相关的元数据,为其他网络参与者提供有用的背景和信息。
为索引添加测展信号
索引人不大可能在没有策展信号的情况下采集已发布的子图。 为了鼓励索引,您应该向子图添加信号。了解更多关于信号和 curating的信息。
什么是信号?
- 信号与给定的子图相关联的 GRT 锁定。 它向索引表人明,某个子图将收到查询量,并且它将有助于为处理它提供索引奖励。
- 第三方策展员也可以在给定的子图上发出信号,如果他们认为子图可能驱动查询量。
查询及应用程序开发
The Graph网络每个月收到100 000个免费查询。 过了这个点之后,开发者可以用GRT支付查询或信用卡。
了解更多关于 查询子图。
升级子图
若要使用错误修正或新功能更新你的子图,请启动交易来指向新版本。 您可以将您的子图的新版本部署到 Subgraph Studio 进行开发和测试。
- 如果您在应用信号时选择了“自动迁移”,更新Subgra会将任何信号迁移到新版本并产生迁移税。
- 这种信号迁移应促使索引人开始索引新版本的子图,因此它很快就可以进行查询。