Multiclient on Ethereum Mainnet has arrived. This is all you need to know
DAppNode users have been able to pick the Execution Layer (EL) client and the Consensus Layer (CL) client of their choice in the Prater Testnet and in Gnosis Chain (and in the recently born Gnosis Chain testnet “Chiado”!).
The moment has arrived to deploy the Multi-client setup to our Mainnet validators!
Read below for important info and for a step-by-step guide on how to migrate to Multi-client.
Two things you need to know:
The prysm UI will stop working — even if you keep using prysm! This is because the keys will be securely stored in the web3signer. A new keymanager UI is also built into the web3signer package. It will display information about your keys, and you will have a DMS dashboard to keep track of all your validator data, but it’s not as complete when it comes to calculating earnings. The new UI is Open Source and compatible with all clients, and it will be improved over time. For now we suggest using beaconcha.in to keep track of the earnings of your validator.
How does the multi-client work and why does it help me?
The multiclient setup allows you to use the CL client you want without being restricted to Prysm, as you were before. This has huge advantages for you as you can react quickly to any potential bugs on any client implementation and you can support client diversity — which means that you make the entire Ethereum Network more resilient by running minority clients.
For a diagram of how the solution works and why we chose to make it work this way, please look at this 1 minute section of this video https://youtu.be/Z0aK1OYPhQg?t=19
Here’s what you need to do once the update hits your dashboard:
- Install the new Core version 0.2.57. A new DAppNode core release will be published. This DAppNode version will prohibit you to have any combination of packages that could be hosting keys at the same time. This way, we make it impossible for you to even have installed two packages that, if misused, could cause a slashing event.
- Install the new Prysm version 2.0.0. A new major update of the Prysm client will be published. You will need to trigger this update manually, auto updates won’t work for such an update. Updating Prysm will install the web3signer package and will move the keys to it. The new Prysm version will be communicating with the web3signer to receive the pubkeys of your validators and start sending attestation assignments to the new key holder.
Once you reach this point, you’re good. You’re validating and there’s nothing else you need to do if you want to keep using Prysm. But now you have the option of switching to another validator client. If that’s your choice, keep reading.
- Optional — Install an alternative CL client. Once you’re up and running with Prysm, you can then install Teku or Lighthouse (Nimbus and Lodestar don’t work at the expected performance level yet), and use checkpoint sync to not have to wait for the full beacon chain to sync (watch this to know how to configure checkpoint sync with Infura, or just copy the recommended link and paste it in the field).
⚠️ Please note that Lighthouse will wait 3 to 4 epochs to activate your validator due to the doppelganger protection ⚠️
- Point the web3signer to the new CL client. Then you can go to the web3signer package > Config and use the drop-down menu to change to a client that you have installed and synced. Please note that if you choose a client that is not installed, the web3signer will be pointing to a package that doesn’t exist and hence you won’t submit any validation work.
What if the automatic migration of the keys to the web3signer fails?
Not to worry. Some edge cases might make the automatic migration of keys from Prysm to the web3signer fail, that’s why there is a manual migration route that takes just 2 steps.
Please follow the instructions in this link:https://mainnet-manual-migration.dappnode.io/
Do you have any questions? Join DAppNode’s discord, where we have a dedicated channel for Gnosis Beacon Chain validators!