graphprotocol / graphprotocol/graph-node

Graph node unable to connect to Anvil

Aperta
#3,640 6 commenti 4 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

ops Stale
Lingua principale
Rust
Stelle
3.2k
Fork
1.1k
Merge medio
4g 1h
PR unite (30g)
1

Descrizione

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:

https://github.com/foundry-rs/foundry/issues/1868

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia eseguendo la configurazione Docker Compose fornita e ispezionando i log di graph-node per la richiesta eth_getBlockByNumber non riuscita. Confronta la configurazione Anvil con la configurazione Ganache funzionante e traccia l'endpoint di connessione utilizzato da graph-node. L'attività è completata quando graph-node si connette ad Anvil e indicizza la chain configurata senza errori di connessione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
docker, docker-compose, rust
Ambito
backend, blockchain
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.