Nethermind Node Setup
Instructions for setting up a Nethermind Client Node
Before getting started as a new validator, please follow the Become a Candidate steps to fund and setup your staking address. You will need this as well as information from the validator-candidates Discord channel to complete the setup.
If you are migrating from a current OpenEthereum/Parity Node:
  1. 1.
    We recommend preparing through step 4 below (update .env file) on a clean instance, but DO NOT launch ( do not proceed to step 5 docker-compose up -d) until you have stopped your current instance.
  2. 2.
    Once your new node is prepared, stop your current OE/Parity instance
    1. 1.
      If using docker, stop with docker-compose down
    2. 2.
      If using an ansible deploment playbook, uninstall withsudo pip uninstall --yes ansible or follow these instructions
  3. 3.
    Once you have confirmed your previous node is stopped, proceed with step 5 below and launch the new instance. Initial sync should take about 15 minutes.
If you need to update to Nethermind Latest Version (ie for recent Hardfork)
  1. 1.
    Set docker image as image: nethermind/nethermind:latest
  2. 2.
    docker pull nethermind/nethermind:latest
    docker-compose down
    docker-compose up -d

Validator Node Specs

Nethermind can be supported by a variety of cloud-based providers. Instructions are available here for UpCloud, which can be generalized to other providers. If you are already with a provider, we recommend launching a new, clean instance.

Minimum specifications

  • OS: Ubuntu, Windows & MacOs. See supported platforms ​
  • CPU: minimum 2 cores
  • RAM: minimum 4GB
  • Disk: 500gb SSD
  • Open network ports: SSH port (default 22 TCP), 30303 UDP/TCP. For security purposes, close other ports.
  • Check that you have git installed git --version
    • if not, install it following instructions here​
See the Nethermind Docs for additional information

Node setup

Login to your node to begin.
For basic docker instructions, see the github repo at​

1) Install Docker Engine & Docker Compose

Installation instructions will vary based on OS. Follow the instructions here:

2) Sync Clock

Your clock should by synchronized to prevent skipping block sealing.
Entertimedatectl status , you should see similar output:
Local time: Tue 2020-06-30 17:16:19 UTC
Universal time: Tue 2020-06-30 17:16:19 UTC
RTC time: Tue 2020-06-30 17:16:19
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
If System clock synchronized displays yes you are ready to go, proceed to step 3.
If not, you can either:
  • synchronize clock with NTP servers (allow UDP port 123 for both incoming and outgoing traffic) or
  • use the following script to sync with
Create script and run it with watch -n 60 command in a screen
echo sudo date -s '"$(wget -qSO- --max-redirect=0 2>&1 | grep Date: | cut -d' ' -f5-8)Z"' >
chmod +x
screen -S time
watch -n 60 ./
Press Ctrl+A+D to leave the screen

3) Clone the Repo

$ git clone -b nethermind
$ cd validator-node-dockerized

4) Update .env File

You will need your private mining key to proceed (see step 3 here to retrieve a key string using MetaMask)
Copy .env.example to .env and configure the .env file. Define the following settings.
  • ETHSTATS_ID - The displayed name of your validator in Netstats​
  • ETHSTATS_CONTACT - Validator's contact (e.g., e-mail)
  • ETHSTATS_SECRET - Secret key to connect to Netstat (Receive from admin of validator-candidates channel in Discord)
  • KEY - Your mining address private key (64 characters long without leading 0x)
  • SEQAPIKEY - An API key for Seq log collector (Receive from admin of validator-candidates channel in Discord)

5) Start the Node

$ docker-compose up -d
Once docker containers are created, the node will sync with the chain (may take a while).

6) Check Logs

To check the logs and verify operations (look for the Sealed block log).
docker-compose logs -f nethermind

7) Setup Monitoring

​This simple script can help you monitor your node and alert you if your node is down.
Once your node is synced with the chain it will be ready for use. Assuming you have completed the other steps to Become a Candidate your node will be eligible to be a validator in the next staking epoch. If there are more than 19 active candidates, the validator set is chosen based on amount of STAKE (provided by the validator and delegators) as well as a random number.