8 分钟
快速开始
学习如何轻松地构建、发布和查询The Graph上的 子图。
先决条件
如何构建子图
1. 在子图工作室中创建子图
进入Subgraph Studio并连接你的钱包。
子图工作室可以让您创建、管理、部署和发布子图,以及创建和管理 API 密钥。
点击“创建子图”。建议在标题大小写中为子图命名:“子图名称链名称”。
2. 安装 Graph CLI
在本地计算机上,运行以下命令之一:
使用npm:
1npm install -g @graphprotocol/graph-cli@latest
Using yarn:
1yarn global add @graphprotocol/graph-cli
3. 初始化子图
您可以在Subgraph Studio的子图页面找到针对您特定子图的命令。
graph init
命令将根据你的合约事件自动创建一个子图的手写。
以下命令从现有合约初始化你的子图:
1graph init
如果您的合约已经在部署的相应拦截扫描仪上进行了验证(例如 Etherscan), 那么自动在 CLI 中创建 ABI 。
初始化子图时,CLI工具会要求您提供以下信息:
- 协议:选择子图将要索引数据的协议。
- 子图slug: 为你的子图创建一个名称。子图slug是你的子图的标识符。
- Directory:选择一个目录来创建你的子图。
- Etherum网络 (可选):您可能需要指定您的子图将索引数据来自哪个EVM兼容网络。
- 合约地址:找到要查询数据的智能合约地址。
- ABI:如果ABI没有自动填充,您需要手动输入JSON文件。
- 启动Block:您应该输入起始区块以优化区块链数据的子图索引。 通过找到您的合约部署所在的区块来定位起始区块。
- 合约名称:输入合约名称。
- 将合约事件作为实体索引:建议您将其设置为真。 因为它会自动将映射添加到你的子图中。
- 添加其他合约(可选):您可以添加其他合约。
请参阅下面的屏幕截图,以获取初始化子图时所需的示例:

4. 编写子图
上一步的 init
命令创建了一个可以用作构建Subgraph起点的 scaffold 子图。
在对子图进行修改时,你将主要与三个文件一起工作:
- 清单(
subgraph.yaml
)—该清单定义了你的子图将索引哪些数据源。 - 模式(
schema.graphql
)—定义你希望从子图中检索到的数据。 - AssemblyScript 映射(
mapping.ts
)—将数据源中的数据转换为模式中定义的实体的代码。
想了解更多如何编写子图的信息,请参阅创建子图。
5. 部署子图
记住,部署与发布不同。
当你部署一个Subgraph时,你将它推送到Subgraph Studio,在那里你可以测试、分段和查看它。 已部署的子图索引由 升级索引人 执行。 这是一个由Edge & Node拥有和操作的单一索引人,而不是由The Graph网络中许多去中心化的索引人拥有和操作的。 部署 子图可自由使用,频率限制,公众看不到,并可用于开发、分阶段和测试。
一旦您的子图被编写好,请运行以下命令:
1```sh2graph codegen && graph build3```
认证并部署子图。部署密钥可以在子图工作室的子图页面上找到。

1```sh23graph auth <DEPLOY_KEY>45graph deploy <SUBGRAPH_SLUG>6```
CLI 将要求一个版本标签。强烈建议使用 语义版本,例如0.0.1
。
6. 审查子图
如果你想在发布之前测试你的子图,你可以使用 Subgraph Studio 来执行以下操作:
-
运行一个示例查询。
-
在仪表盘分析您的子图以检查信息。
-
检查仪表盘上的日志,以查看您的子图表是否有任何错误。 操作子图的日志将看起来像这样:
Subgraph logs
7. 将你的子图发布到 The Graph的去中心化网络
当你的子图准备好生产环境时,你可以将它发布到去中心化的网络。 发布是一种在线操作,可以做以下工作:
- 使您的子图可以被去中心化的 索引人索引到The Graph网络。
- 取消了费率限制,使你的子图可以公开搜索并可以在 Graph Explorer 中查询。
- 使您的子图可供 策展人进行策展。
您和其他人在您的子图上策展的GRT数量越多,索引人将会更多地被激励来索引您的子图, 提高服务质量,降低延迟性,并提高子图的网络冗余性。
从子图工作室发布
要发布您的子图,请单击仪表盘中的发布按钮。

选择您想要发布子图的网络。
从 CLI 发布
截止版本 0.73.0 ,您也可以使用 GraphCLI 发布您的子图。
打开 graph-cli
。
使用以下命令:
1```sh2graph codegen && graph build3```45Then,67```sh8graph publish9```
- 一个窗口将打开,允许您连接您的钱包,添加元数据,并将您的最终子图部署到您选择的网络。

要成功发布您的子图,请査阅发布子图。
将信号添加到您的子图
-
为了吸引索引人查询您的子图,您应该添加 GRT 策展信号。
- 此操作可以提高服务质量,减少延迟,提高网络冗余性和子图的可用性。
-
如果符合索引奖励,索引人将根据信号金额获得GRT奖励。
- 建议策展至少 3 000GRT 来吸引3个索引人。根据子图功能的使用情况和支持的网络检查奖励资格。
要了解更多关于策展的信息,请访问 Curating。
为了节省燃气费,您可以通过选择此选项来策展您的子图发布在相同的交易中:

8. 查询子图
您现在每月可以使用The Graph网络上的子图访问100 000个免费查询!
现在,您可以通过将GraphQL查询发送到子图的查询URL来查询子图,您可以单击查询按钮找到该查询URL。
有关从您的子图查询数据的更多信息,请阅读Querying The Graph。