Testing Ethereum Substreams-powered Subgraphs forTheGraph MIPs programm

Maxim
1 min readJun 5, 2023

How to run an Ethereum Firehose:

  1. run execution client

Firehose-instrumented execution client (fork of geth) running as a full nod Recommended build: v1.11.5-fh2.2–1 as of April 19, 2023

wget https://github.com/streamingfast/go-ethereum/releases/download/geth-v1.11.5-fh2.2-1/geth_linux

2. run consensus client Lighthouse Build from Source

# install Rust enter `1` for the default installation
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install dependencies
sudo apt install -y git gcc g++ make cmake pkg-config llvm-dev libclang-dev clang protobuf-compiler

# install Lighthouse
git clone https://github.com/sigp/lighthouse.git
cd lighthouse
git checkout stable
make

# Installation was successful if `lighthouse --help` displays the command-line documentation.

Firehose config for Ethereum mainnet

start:
args:
- merger
- firehose
- reader-node
- relayer
- combined-index-builder
flags:
data-dir: /var/lib/firehose
common-chain-id: "1"
common-network-id: "1"
reader-node-path: /usr/bin/geth
substreams-rpc-endpoints: $ETHEREUM_ARCHIVE_RPC
substreams-enabled: true
substreams-request-stats-enabled: true
reader-node-arguments: "--mainnet --datadir=/var/lib/geth
--ipcpath=/var/lib/firehose/reader/ipc
--http --http.api=eth,net,web3
--http.port=8545 --http.addr=0.0.0.0 --http.vhosts=*
--firehose-enabled --port=30303 --cache=2048"`

Start fireeth with the following command:

fireeth -c /etc/firehose/config.yml start

# and make sure the path to geth is correct.

--

--