在图节点中部署平衡器子图时如何解决 trace_filter 不存在?

How to resolve trace_filter does not exist when deploying balancer sub-graph in graph-node?

我已经在我的图形节点中设置了 graph-node successfully. After that, I was trying to deploy balancer-subgraph

子图部署过程:

  1. 克隆
git clone git@github.com:balancer-labs/balancer-subgraph.git
  1. 安装依赖项
yarn
  1. 生成图表代码
yarn codegen
  1. 创建本地节点
yarn create:local
  1. 本地部署
yarn deploy:local

部署后,我的图形节点日志中出现如下错误

Aug 21 13:15:36.545 ERRO Subgraph instance failed to run: RPC error: Error { code: MethodNotFound, message: "the method trace_filter does not exist/is not available", data: None }, code: SubgraphSyncingFailure, id: QmTMsUH9rUVjpBTDRNuUcNHM3rT9ZZmxkDmTYmyKUpzEJn, subgraph_id: QmTMsUH9rUVjpBTDRNuUcNHM3rT9ZZmxkDmTYmyKUpzEJn, component: SubgraphInstanceManager
Aug 21 13:15:41.071 INFO Syncing 1 blocks from Ethereum., code: BlockIngestionStatus, blocks_needed: 1, blocks_behind: 1, latest_block_head: 10703787, current_block_head: 10703786, network_name: mainnet,
component: BlockIngestor

获取节点版本

Geth
Version: 1.9.9-stable
Git Commit: 017449971e1e9e220efcd97d3313a0e27f47003b
Git Commit Date: 20191206
Architecture: amd64
Protocol Versions: [64 63]
Go Version: go1.13.5
Operating System: linux
GOPATH=/home/ubuntu/work
GOROOT=/usr/local/go

我是否需要启用任何类型的 API 才能成功部署平衡器子图?

Geth 节点目前不支持 trace_filter 方法。对于像 balancer-subgraph 这样的子图,当尝试将其部署到 graph-node 时,它会尝试调用此方法 trace_filter。但由于 geth 节点没有 API 支持,因此 graph-node 面临此

的错误

参考:Geth JSON-RPC 没有 trace_filter API 支持。 按照 this link 查找 geth 节点支持的 API。

要完全支持graph-node需要使用校验节点。 This 已支持 APIs by parity