- This repo abstracts the heavy lift and shift work for setting up and run a Goerli Validator Node
- Access to Kubernetes cluster v1.23+
- Enable ports 5052, 8545, 8546, 8551, 9000 and 30303 on your cloud firewall product. Make sure your kubernetes distribution uses the same firewall configured.
- Execution client: geth v1.25.0
- Consensus client: Nimbus v23.5.1
- helm charts
- Kubernetes
- Follow this guide to create your metamask wallet if not holding one yet.
- Switch to Goerli Network.
- Copy your wallet address and get 32 GoerliETH in any faucet available in faucet link (Beware that due to previous scams and unfair usage, those faucets have daily funding limits).
kubectl config get-context
helm upgrade --install goerli-validator ./geth-validator-chart -f ./geth-validator-chart/values.yaml
Note: you must wait until your goerli node gets fully synced
Once you've installed the release, let it sync and funded your wallet address you may submit your node to the Staking Launchpad (Goerli Testnet)
- Visit Staking Launchpad (Goerli Testnet)
- Click on Become a Validator Button
- Read carefully the instructions and accept them. Check also the validator checklist
- Choose geth as execution client and hit continue
- Choose Nimbus as consensus client and hit continue
- Select number of validators (1), paste your Metamask wallet address on Withdrawal address field and hit continue
- Run
kubectl exec -ti deployment/goerli-validator -c nimbus -- /bin/sh
. Inside thenimbus
container copy the deposit data values in/nimbus-data/staking-deposit-cli/validator_keys/deposit_data.json
save it to a local/tmp/nimbus/deposit_data.json
and upload it to Staking Launchpad deposit data and hit continue. - Connect your wallet with funded address accept the terms and make a transaction to transform the goerli node into actual a validator.
- Verify the submitted tfx on Goerli etherscan
- Validate your Goerli node validator request status on Goerli Beacon chain
- Automatic ledger snapshot download/recovery to speed up validation node bootstrap down to minutes/hour.
- Make prometheus metrics available to both execution and consesus layer