节点配置
Graph Node是索引子图并通过 GraphQL API 提供查询结果数据的组件。 因此,它是索引器堆栈的核心,Graph Node的正确操作对于运行成功的索引器至关重要。
此文提供了Graph Node的概述,以及一些索引器可用的更高级选项。 详细文档和说明可以在 Graph Node仓库中找到。
Graph Node
Graph Node 是The Graph Network上索引子图的参考实现,连接区块链客户端,索引子图并使索引数据可供查询。
Graph Node(以及整个索引器堆栈)可以在裸机或云环境中运行。 该中心化索引组件的灵活性对于The Graph Protocol的鲁棒性至关重要。 类似地,Graph Node可以从 源代码构建,或者索引器可以使用 提供的Docker镜像。
PostgreSQL 数据库
Graph Node 的主要存储库,其中存储了 Subgraph 数据,以及关于 Subgraph 的元数据和与 Subgraph 无关的网络数据,例如块缓存和 eth_call 缓存。
网络客户端
为了对一个网络进行索引,Graph Node需要通过EVM兼容的JSON-RPC API访问网络客户端。 该 RPC 可能连接到单个客户端,也可能是更复杂的设置,跨多个客户端进行负载均衡。
一些子图只需要一个全节点就能支持索引特性,而部分子图可能需要支持额外RPC功能的节点。 具体来说,作为索引一部分的 eth_calls
的子图将需要一个支持 EIP-1898的归档节点,而包含 callHandlers
或带有 call
过滤器的 blockHandlers
的子图则需要 trace_filter
支持 (请查看此处的trace模块文档)。
IPFS 节点
Subgraph 部署元数据存储在 IPFS 网络中。 Graph Node主要在子图部署期间访问IPFS节点,以获取子图清单和所有链接文件。 网络索引程序不需要托管自己的IPFS节点。 网络的IPFS节点托管在 https://ipfs.network.thegraph.com。