Skip to content

Prater testnet

prater, also known as goerli, is the current long-running merge testnet. It provides an opportunity to verify your setup works as expected through the proof-of-stake transition and in a post-merge context as well as to safely practise node operations such as adding and removing validators, migrating between clients, and performing upgrades and backups. If you come across any issues, please report them here.

Note

Post-merge, node runners will need to run both a consensus and execution layer client.

General Preparation

  1. Generate the JWT secret with openssl rand -hex 32 | tr -d "\n" > "/opt/jwtsecret". This file needs to be passed to both the execution client and the consensus client.

  2. Choose an Ethereum address to receive transaction fees. This ETH will be immediately available, not part of the staking contract.

  3. Download the latest release and install it by unpacking the archive.

  4. Choose one of Nethermind, Besu, Erigon, or Geth as an execution client, using one of the compatible versions. Download, install, and run it.

For example, Nethermind on Goerli can run via:

cd nethermind/src/Nethermind/Nethermind.Runner
dotnet run -c Release -- --config goerli \
--JsonRpc.Host=0.0.0.0 \
--JsonRpc.JwtSecretFile=/opt/jwtsecre

Erigon can be run using:

./build/bin/erigon --chain=goerli \
--datadir goerli-testnet \
--authrpc.jwtsecret=/opt/jwtsecret \
--http --http.api=engine,net,eth

and Besu can be run with the command:

build/install/besu/bin/besu     \
  --network=goerli              \
  --rpc-http-enabled=true       \
  --rpc-http-host="0.0.0.0"     \
  --rpc-http-cors-origins="*"   \
  --sync-mode="X_SNAP"          \
  --data-storage-format="BONSAI"\
  --Xmerge-support=true         \
  --rpc-ws-host="0.0.0.0"       \
  --host-allowlist="*"          \
  --engine-rpc-enabled=true     \
  --engine-host-allowlist="*"   \
  --engine-jwt-enabled=true     \
  --engine-jwt-secret=/opt/jwtsecret

Sync the beacon node and execution client

  1. Start syncing the node consisting of Nimbus and chosen execution client, for example by running:
    nimbus-eth2/build/nimbus_beacon_node \
        --network=goerli \
        --web3-url=http://127.0.0.1:8551 \
        --rest \
        --metrics \
        --jwt-secret="/opt/jwtsecret" \
        --suggested-fee-recipient=<Enter-eth-address-here>
    

One might consider here to set up a systemd service to ensure this runs automatically, including after restarts.

Begin validating

  1. Once this Goerli/Prater node is completely synced, use the Prater launchpad to obtain Goerli/Prater validators with Goerli ETH. It might require some time before these enter and are activated on the beacon chain. If one does this before the node which will attest and propose using those validators has synced, one might miss attestations and block proposals.

  2. Import the validator keys you receive into Nimbus.

  3. Start validating with the imported keys.

Useful resources