- Run this script
./run-network.sh
This uses two validators - you can edit that number in both scripts.
- The Prysm docs for running a Proof of Stake Devnet are out of date.
- You need to add
ELECTRA_FORK_VERSION: 0x20000094
to yourconfig.yml
- The
genesis.json
provided doesn't work with the deneb fork, so use the one given in this repo.
- You need to add
- You need to start from the
genesis-initial.json
which is why we copy it intogenesis.json
as it is overwritten on each run. - The order of arguments for generating prysm
genesis.ssz
is extremely specific. - The geth, prysm and validator clients must be run from the same script to work and in the specific order. Discord thread here
- Geth takes ~6 minutes to get past the
Nil finalized block cannot evict old blobs
errors. - Executables were compiled using the following commands and then deleting the source code:
git clone https://github.com/prysmaticlabs/prysm && cd prysm
go build -o=../beacon-chain ./cmd/beacon-chain
go build -o=../validator ./cmd/validator
go build -o=../prysmctl ./cmd/prysmctl
cd ..
git clone https://github.com/ethereum/go-ethereum && cd go-ethereum
make geth
cp ./build/bin/geth ../geth
cd ..
Hit these countless times trying to get this to work.
error="rpc error: code = Internal desc = could not build block in parallel: rpc error: code = Internal desc = Could not get local payload: could not prepare payload: payload status is SYNCING or ACCEPTED" prefix=client pubkey=0xa99a76ed7796 slot=9
Unable to retrieve proof-of-stake genesis block data
WARN [06-28|14:55:59.270] Forkchoice requested unknown head hash=1a6c12..a2e9d0
WARN [06-28|14:56:11.233] Forkchoice requested unknown head hash=1a6c12..a2e9d0
Successful logs are included so you have a reference to work from.