Run a Redstone, Garnet or Pyrope Node
Ensure that Docker and Docker Compose are installed, then checkout the git repository, we’re going to make some changes to it though:
git clone https://github.com/latticexyz/redstone-node.git
I suggest you use multiple shells as there are some long running processes, in the first shell:
cd redstone-node/docker-compose/
mkdir data
cd data
wget -c https://pub-b17471e3fbff42cc9f1ed12b36844067.r2.dev/geth-latest.tar.gz
tar xvzf geth-latest.tar.gz
rm geth-latest.tar.gz
cd ..
In the second shell:
cd redstone-node/docker-compose/
Edit .env
and add:
L1=https://rpc.ankr.com/eth_holesky
Important
Ankr has just enough of an allowance (~30/request/sec) for this to work.
Edit ./config/garnet/run-consensus-layer.sh
and update the command:
--l2=http://op-geth:8551 \
--metrics.enabled \ # add this line
--l2.jwt-secret=/data/geth/jwtsecret \
Once the the download and untargz of the data is done in the first shell it can be closed, then in the remaining shell:
docker compose -f garnet-compose.yml up -d
You can trail the logs with:
docker compose -f garnet-compose.yml logs -f --tail 10
For reduced typing the following start.sh
and stop.sh
can be used:
start.sh
#!/bin/bash
cd ~/redstone-node/docker-compose
podman compose -f garnet-compose.yml up -d && podman compose -f garnet-compose.yml logs -f --tail 10
stop.sh
#!/bin/bash
cd ~/redstone-node/docker-compose
podman compose -f garnet-compose.yml down --remove-orphans --rmi all -t 30 -v