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