Testing Ethereum Substreams-powered Subgraphs forTheGraph MIPs programm
How to run an Ethereum Firehose:
- 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.