Run the latest Reth node locally and monitor it with a Prometheus-powered Grafana dashboard.
- Install Docker and Docker Compose
- Clone this repository
git clone git@github.com:loren/local_reth.git
cd local_reth
- Run
docker-compose up -d
- Verify the node has started up by running
docker-compose logs -f reth
- Run
./watch.sh
to see the stats that Prometheus is collecting - Open "http://localhost:3000" in your browser and log into Grafana w/ user: "admin", pass: "admin" to view the "reth" dashboard
By default, the docker-compose.yml
file will run a Reth node that
will sync up to Ethereum block 5,000,000.
This is a good place to start if you want to test out Reth and don't want to wait for the full sync.
You can override this by setting the RETH_TIP
environment variable to a different block number hash.
The docker-compose.yml
file also spins up a Prometheus server and a Grafana server.
The Prometheus server will scrape the Reth node and the Grafana server will display the metrics in a dashboard.
Once the Reth node has had a chance to sync up, you can interact with the data in the Reth node by using the db
subcommand.
docker exec -it local_reth-reth-1 bash
reth/target/release/reth db stats
reth/target/release/reth db list --start=1 --len=2 Headers
- Run
docker-compose down
The volumes will persist across restarts, so you can start and stop the node as needed.
The Reth repo / binary in use here is maintained at https://github.com/paradigmxyz/reth
The Prometheus + Grafana docker-compose stack is taken from https://github.com/vegasbrianc/prometheus