We’re preparing xDai chain for Berlin hard fork. To do this, validators need to have a new version of client.
We’d like to ask you to switch your validator node from the obsolete
Parity-Ethereum 2.7.2 to
Create a separate Ubuntu 20.04 instance.
Clone the following repo:
git clone -b nethermind https://github.com/xdaichain/validator-node-dockerized mv validator-node-dockerized nethermind cd nethermind
To be a validator, you need to have your mining address private key. You will keep it in a
If you don’t have the private key in a plain format (a hex string, 64 characters long), but have a JSON Keystore file of it (with a password), please go through the following steps to get your plain private key string:
- Open your MetaMask.
- Go to
- In the
Select Typedrop-down list choose
- Point to your JSON Keystore file, enter the password for it, and click
- Switch to the newly imported account and go to
Account details. Click
Export private keybutton.
- On the appeared
Show Private Keyssection type your MetaMask password and click
- You will see your 64 characters long private key.
.envand configure the
.envfile. There are a few settings you need to define:
ETHSTATS_ID=[validator_name] ETHSTATS_CONTACT=[contact_email] ETHSTATS_SECRET=[netstat_secret_key] KEY=[your_private_key_for_mining_address] SEQAPIKEY=[seq_api_key]
ETHSTATS_ID- The displayed name of your validator in https://dai-netstat.poa.network/
ETHSTATS_CONTACT- Validator’s contact (e.g., e-mail).
ETHSTATS_SECRET- Secret key to connect to Netstat (should be provided by xDai team, please, request it).
KEY- Your mining address private key (should be 64 characters long without leading
SEQAPIKEY- An API key for Seq log collector (should be provided by xDai team, please, request it).
docker-compose.ymlfile with your favorite text editor to change the
NETHERMIND_INITCONFIG_ISMININGenv variable from
This will temporarily set your new node as a non-validator.
Start your Nethermind node and wait for it to be fully synced:
docker-compose up -d
Once the new node is fully synced, you will need to stop your old Parity-Ethereum node on an old instance:
sudo systemctl stop poa-parity sudo systemctl stop poa-netstats
Once the old instance is stopped, go to your new instance and edit
docker-compose.ymlfile to activate a validator role - change
Restart your node using the following commands:
docker-compose down docker-compose up -d
Now, your new node should produce blocks.
Please, report here as soon as you go through the above steps.