Docs
搜索⌘ K
  • 主页
  • 关于 The Graph
  • 支持的网络
  • 协议合约
  • 子图
    • 子流
      • 代币 API
        • Hypergraph
          • 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