graphprotocol / graphprotocol/graph-node
Graph node unable to connect to Anvil
まだ誰も着手していません。
- 主要言語
- Rust
- スター
- 3.2k
- フォーク
- 1.1k
- 平均マージ
- 4日 1時間
- マージ済み PR(30日)
- 1
説明
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Graph Node is not able to connect to Anvil (Foundry node).
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
Docker compose file:
version: "3.3"
services:
chain-1337:
environment:
- MNEMONIC=$MNEMONIC
container_name: chain-1337-test
image: ghcr.io/foundry-rs/foundry:nightly
entrypoint: 'anvil --chain-id 1337 --mnemonic "$MNEMONIC" --host 0.0.0.0 --block-time 3 --verbosity'
ports:
- "8547:8545"
graph-node-1337:
container_name: graph-node-1337-test
image: graphprotocol/graph-node:v0.26.0
ports:
- "8010:8000"
- "8001:8001"
- "8020:8020"
- "8030:8030"
- "8040:8040"
depends_on:
- ipfs
- postgres-1337
- chain-1337
environment:
postgres_host: postgres-1337
postgres_user: graph-node
postgres_pass: let-me-in
postgres_db: graph-node
ipfs: "ipfs:5001"
ethereum: "mainnet:http://chain-1337:8545"
GRAPH_LOG: info
postgres-1337:
container_name: postgres-1337-test
image: postgres
ports:
- "5432:5432"
command: ["postgres", "-cshared_preload_libraries=pg_stat_statements"]
environment:
POSTGRES_USER: graph-node
POSTGRES_PASSWORD: let-me-in
POSTGRES_DB: graph-node
ipfs:
container_name: ipfs-test
image: ipfs/go-ipfs:v0.4.23
ports:
- "5001:5001"
Run docker compose up then docker logs graph-node-1337-test.
Observe log errors:
Jun 07 20:10:25.324 WARN Trying again after eth_getBlockByNumber(0, false) RPC call failed (attempt #12) with result Err(failed to send request: error sending request for url (http://host.docker.internal:8545/): error trying to connect: tcp connect error: Connection refused (os error 111)), provider: mainnet-rpc-0
What is the expected behavior?
It should work. If I use trufflesuite/ganache-cli instead of Anvil, it works. I expect it to work with both platforms.
I first filed a bug with Foundry, more context here:
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、提供された Docker Compose セットアップを実行し、失敗した eth_getBlockByNumber リクエストについて graph-node のログを調査します。Anvil セットアップと動作している Ganache セットアップを比較し、graph-node が使用している接続エンドポイントを追跡します。graph-node が Anvil に接続し、接続エラーなしで設定された chain をインデックス化できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- docker, docker-compose, rust
- 領域
- backend, blockchain
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100