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.gitI 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_holeskyImportant
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 -dYou can trail the logs with:
docker compose -f garnet-compose.yml logs -f --tail 10For 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 10stop.sh
#!/bin/bash
cd ~/redstone-node/docker-compose
podman compose -f garnet-compose.yml down --remove-orphans --rmi all -t 30 -vNote
For Pyrope the rollup.json and genesis.json are separate downloads, and the bootstrap peers are as follows:
--p2p.static=/ip4/57.128.188.69/tcp/5222/p2p/16Uiu2HAmCKpxKe2T7RAMxYnDGoj6WpwPjGhKtqjkcceKmDDx7F4L,/ip4/79.127.239.88/tcp/5222/p2p/16Uiu2HAm69VqF7Ex5bPf127Rx7RaqLux3CHcxWFQJLTeGQNL5AMz,/ip4/135.125.118.180/tcp/5222/p2p/16Uiu2HAm26YQtWwqstwuAwGgsjn48Qa3Ss86SGP7pNu4KC1xgH5S