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

            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://api.thegraph.com/ipfs/⁠

            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