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

              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