OpenEthereum can be supported by a variety of cloud-based providers. If you are already with a provider, we recommend launching a new, clean instance.
OS: Ubuntu Linux 16.04 LTS with root or sudo-user access over ssh
CPU: minimum 2 cores
RAM: minimum 4GB
Disk: 50gb SSD
Open network ports: SSH port (default 22 TCP), 30303 UDP. 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
Installation instructions will vary based on OS. Follow the instructions here:
Your clock should be 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 https://github.com/xdaichain/validator-node-dockerized$ cd validator-node-dockerized
Generate an external (0x) address and name your JSON keystore file as
key and save it in the
validator-node-dockerized directory. Save the keystore password to a
npm i eth-keygen-json -gPlease enter the password to encrypt your new ethereum key [input is hidden]Address: 0xADDRESSCreating folder with your private key and json keystore.
Alternate generation methods:
Generate a key with the following OpenEthereum's CLI command:
openethereum account new --keys-path <path_to_save_json_keystore>
.env and configure the
.env file. Define the following settings.
ETHSTATS_ID - The displayed name of your validator in Netstat
ETHSTATS_CONTACT - Validator's contact (e.g., e-mail)
ETHSTATS_SECRET - Secret key to connect to Netstat (Available here - you will need access to the forum to view, please keep it private)
EXT_IP - External IP address of the current server
ACCOUNT - Your public mining address (40 characters including the leading
$ docker-compose up -d
Once docker containers are created, the node will sync with the chain (this may take a while).
To restart, cd into the
validator-node-dockerized directory and use
docker-compose stop then
Open https://dai-netstat.poa.network and check that your node appears on the list and has >0 peers. Wait until it synchronizes with the rest of the blockchain (block number and block hash should match the rest of the network).
Once the node is operational, proceed to Becoming a Candidate instructions step 5. Here you will access the staking DApp using your staking address in order to fund the mining node.