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

              6 分钟

              新链整合

              链可以通过启动新的graph-node集成为其生态系统带来子图支持。子图是一个强大的索引工具,为开发人员打开了一个充满可能性的世界。Graph节点已经对此处列出的链中的数据进行了索引。如果您对新的集成感兴趣,有两种集成策略:

              1. EVM JSON-RPC
              2. Firehose: 所有Firehose集成解决方案都包括Substreams,这是一个基于Firehose的大规模流媒体引擎,支持原生graph-node,允许并行转换。

              请注意,虽然推荐的方法是为所有新链开发新的Firehose,但只有非EVM链才需要。

              整合策略

              1. EVM JSON-RPC

              如果区块链与EVM等效,并且客户端/节点公开标准的EVM JSON-RPC API,Graph节点应该能够索引新的链。有关更多信息,请参阅EVM JSON-RPC测试()。

              测试EVM JSON-RPC

              为了使Graph节点能够从EVM链中获取数据,RPC节点必须公开以下EVM JSON RPC方法:

              • eth_getLogs
              • eth_call \(对于历史块,使用EIP-1898 - 需要归档节点):
              • eth_getBlockByNumber
              • eth_getBlockByHash
              • net_version
              • eth_getTransactionReceipt, 在JSON-RPC批量请求中
              • trace_filter (有限跟踪,图节点可选)

              2. Firehose整合

              Firehose⁠是下一代提取层。它以平面文件的形式收集历史记录,并实时流式传输。Firehose技术利用推送模型将数据更快地发送到索引节点,用数据流取代了那些轮询API调用。这有助于提高同步和索引的速度。

              注意:StreamingFast团队完成的所有集成都包括将Firehose复制协议维护到链的代码库中。StreamingFast会跟踪任何更改,并在您更改代码和StreamingFast更改代码时发布二进制文件。这包括为协议发布Firehose/Substreams二进制文件,为链的块模型维护Substreams模块,并在必要时为区块链节点发布带有插装的二进制文件。

              非EVM链的集成

              将Firehose集成到链中的主要方法是使用RPC轮询策略。我们的轮询算法将预测新块何时到达,并提高在该时间附近检查新块的速率,使其成为一种非常低延迟和高效的解决方案。有关Firehose集成和维护的帮助,请联系StreamingFast团队⁠。新链及其集成商将欣赏Firehose和Substreams为其生态系统带来的分叉意识⁠ 和大规模并行索引功能。

              EVM(geth)链特定仪器

              对于EVM链,通过Go Ethereum和StreamingFast之间的合作 geth live-tracer⁠可以实现更深层次的数据,从而构建一个高吞吐量和丰富的交易跟踪系统。Live Tracer是最全面的解决方案,可提供 扩展⁠ 的块细节。这启用了新的索引范式,例如基于状态更改、调用、父调用树的事件模式匹配,或基于智能合约中实际变量的更改触发事件。

              基础块与扩展块

              注意:对Firehose的改进要求链条使用EVM 1.13.0及更高版本的引擎。

              EVM注意事项-JSON-RPC和Firehose之间的区别

              虽然JSON-RPC和Firehose都适用于子图,但想要使用Substreams⁠构建的开发人员总是需要Firehose。支持子流允许开发人员为新链构建子流驱动的子图,并有可能提高子图的性能。此外,Firehose作为graph节点JSON-RPC提取层的直接替代品,将常规索引所需的RPC调用数量减少了90%。

              • 所有这些getLogs调用和往返都被到达graph节点中心的单个流所取代;它处理的所有子图的单个块模型。

              注意:基于Firehose的EVM链集成仍然需要索引人运行链的归档RPC节点来正确索引子图。这是由于Firehose无法提供通常可通过 eth_call RPC方法访问的智能合约状态。(值得提醒的是,eth_call对开发人员来说不 是一种好的做法)

              Graph节点配置

              配置Graph节点就像准备本地环境一样简单。设置好本地环境后,您可以通过在本地部署子图来测试集成。

              1. 克隆Graph节点⁠

              2. 修改 此行⁠, 包括新网络名称和符合EVM JSON RPC或Firehose的URL

                不要更改环境变量名称本身。它必须保持为 ethereum ,即使网络名称不同也是如此。  

              3. 运行IPFS节点,或使用Graph使用的IPFS节点: https://ipfs.thegraph.com⁠

              Substreams驱动的子图

              对于StreamingFast led Firehose/Substreams集成,包括对基础Substreams模块(如解码交易、日志和智能合约事件)和Substreams代码生成工具的基本支持。这些工具允许启用Substreams驱动的子图。按照 操作指南⁠ 运行子流codegen子图,亲身体验codegen工具。

              ⁠在GitHub上编辑⁠

              链集成过程概述术语汇编
              在此页面上
              • 整合策略
              • 1. EVM JSON-RPC
              • 2. Firehose整合
              • EVM注意事项-JSON-RPC和Firehose之间的区别
              • Graph节点配置
              • Substreams驱动的子图
              The GraphStatusTestnetBrand AssetsForum安全Privacy PolicyTerms of Service