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

            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