Docs
搜索⌘ K
  • 主页
  • 关于 The Graph
  • 支持的网络
  • 协议合约
  • 子图
    • 子流
      • 代币 API
        • Hypergraph
          • AI Suite
            • 索引
              • Graph Horizon
                • 资源
                  子图

                  8 分钟

                  快速开始

                  学习如何轻松地构建、发布和查询The Graph上的 子图。

                  先决条件

                  • 一个加密钱包
                  • 智能合约在一个支持网络上的地址
                  • Node.js⁠ 已安装
                  • 您选择的软件包管理器 (npm, yarn 或 pnpm)

                  如何构建子图

                  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:您应该输入起始区块以优化区块链数据的子图索引。 通过找到您的合约部署所在的区块来定位起始区块。
                  • 合约名称:输入合约名称。
                  • 将合约事件作为实体索引:建议您将其设置为真。 因为它会自动将映射添加到你的子图中。
                  • 添加其他合约(可选):您可以添加其他合约。

                  请参阅下面的屏幕截图,以获取初始化子图时所需的示例:

                  Subgraph command

                  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数量越多,索引人将会更多地被激励来索引您的子图, 提高服务质量,降低延迟性,并提高子图的网络冗余性。

                  从子图工作室发布

                  要发布您的子图,请单击仪表盘中的发布按钮。

                  Publish a Subgraph on Subgraph Studio

                  选择您想要发布子图的网络。

                  从 CLI 发布

                  截止版本 0.73.0 ,您也可以使用 GraphCLI 发布您的子图。

                  打开 graph-cli。

                  使用以下命令:

                  1```sh2graph codegen && graph build3```45Then,67```sh8graph publish9```
                  1. 一个窗口将打开,允许您连接您的钱包,添加元数据,并将您的最终子图部署到您选择的网络。
                  cli-ui

                  要成功发布您的子图,请査阅发布子图。

                  将信号添加到您的子图

                  1. 为了吸引索引人查询您的子图,您应该添加 GRT 策展信号。

                    • 此操作可以提高服务质量,减少延迟,提高网络冗余性和子图的可用性。
                  2. 如果符合索引奖励,索引人将根据信号金额获得GRT奖励。

                    • 建议策展至少 3 000GRT 来吸引3个索引人。根据子图功能的使用情况和支持的网络检查奖励资格。

                  要了解更多关于策展的信息,请访问 Curating。

                  为了节省燃气费,您可以通过选择此选项来策展您的子图发布在相同的交易中:

                  Subgraph publish

                  8. 查询子图

                  您现在每月可以使用The Graph网络上的子图访问100 000个免费查询!

                  现在,您可以通过将GraphQL查询发送到子图的查询URL来查询子图,您可以单击查询按钮找到该查询URL。

                  有关从您的子图查询数据的更多信息,请阅读Querying The Graph。

                  ⁠在GitHub上编辑⁠

                  协议合约Graph 浏览器
                  在此页面上
                  • 先决条件
                  • 如何构建子图
                  • 1. 在子图工作室中创建子图
                  • 2. 安装 Graph CLI
                  • 3. 初始化子图
                  • 4. 编写子图
                  • 5. 部署子图
                  • 6. 审查子图
                  • 7. 将你的子图发布到 The Graph的去中心化网络
                  • 8. 查询子图
                  The GraphStatusTestnetBrand AssetsForum安全Privacy PolicyTerms of Service