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.
OS: Ubuntu, Windows & MacOs. See supported platforms
CPU: minimum 2 cores
RAM: minimum 4GB
Disk: 50gb SSD
Open network ports: SSH port (default 22 TCP), 30303 UDP/TCP. For security purposes, close other ports.
Check that you have git installed
if not, install it following instructions here
Login to your node to begin.
For basic instructions, see the github repo at https://github.com/xdaichain/validator-node-dockerized/tree/nethermind#readme
Installation instructions will vary based on OS. Follow the instructions here:
Your clock should by synchronized to prevent skipping block sealing.
timedatectl status , you should see similar output:
Local time: Tue 2020-06-30 17:16:19 UTCUniversal time: Tue 2020-06-30 17:16:19 UTCRTC time: Tue 2020-06-30 17:16:19Time zone: Etc/UTC (UTC, +0000)System clock synchronized: yessystemd-timesyncd.service active: yesRTC in local TZ: no
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 google.com:
fixtime.sh script and run it with
watch -n 60 command in a
echo sudo date -s '"$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"' > fixtime.shchmod +x fixtime.shscreen -S timewatch -n 60 ./fixtime.sh
Ctrl+A+D to leave the
$ git clone -b nethermind https://github.com/xdaichain/validator-node-dockerized$ cd validator-node-dockerized
.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 (Available here - request access to the forum to view - please keep it private)
KEY - Your mining address private key (64 characters long without leading
SEQAPIKEY - An API key for Seq log collector (should be provided by xDai team, please, request it).
$ docker-compose up -d
Once docker containers are created, the node will sync with the chain (may take a while).
After your docker container is created and started, it doesn't need the key anymore, so the key can be removed from
.env for security reasons. But note, that if you
down your container, you will need to specify the key again before you
up (recreate) the docker container.
To restart, cd into the
validator-node-dockerized directory and use
docker-compose stop then
To check the logs and verify operations (look for the
Sealed block log).
docker-compose logs -f nethermind