Create an EtherLite validator node on VULTR or DIGITAL OCEAN server Ubuntu 20.04
Watch full video procedure on YouTube EtherLite UnOfficial
Find Original Procedure on GitHub
BEFORE YOU BEGIN, YOU WILL NEED:
- 100000 EtherLite (ETL)
- A command line program e.g. http://www.putty.org
- A VULTR or DIGITAL OCEAN server with Ubuntu 20.04
- An ability to follow instructions to the letter!!!
- Additional Support by Antares Discord Channel
- Be aware, you are setting up a Validator Node on a remote server, and keeping your EtherLite Coins on a local MetaMask wallet. Your EtherLite Coins are never in danger from the remote server
You are now ready to configure your Server!
Recommended Server Size: 2 CPU Premium Intel/AMD or High Frequency with 2GB of RAM and 60+GB SSD (will work on 1GB of RAM with a SWAP file "NOT Recommended" see below) Note that you will have to Resize/Upgrade you Droplet/Server over time as the Blockchain will increase in size as well as the number of transactions per block.
If you have < 2GB of RAM on the system "NOT Recommended". We’ll have to set up a swapfile. If you have the required 2GB, feel free to skip to next step.
We can see if the system has any configured swap by typing:
sudo swapon --show
If you don’t get back any output, this means your system does not have swap space, follow procedure below.
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab sudo sysctl vm.swappiness=10 sudo sysctl vm.vfs_cache_pressure=50
Install Docker Engine and Docker Compose
sudo apt-get update sudo apt-get upgrade sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose curl https://get.docker.com | sh sudo usermod -aG docker $USER sudo reboot
Sync Clock:
Your clock should by synchronized to prevent skipping block sealing.
Enter
timedatectl 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 and Time zone is set to UTC, proceed to step 4.
If not, get help here: https://vitux.com/how-to-sync-system-time-with-internet-time-servers-on-ubuntu-20-04/
Clone this repo:
git clone https://github.com/antares-etherlite/validator-node-dockerized cd validator-node-dockerized
Download the OpenEthereum From EtherLite Releases.
curl -L "https://github.com/etherlite-org/openethereum/releases/download/v3.2.2-rc.1/openethereum-ubuntu20.04.zip" -o openethereum.zip
Install unzip to unzip the downloaded OpenEthereum zip.
apt install -y unzip
Unzip the OpenEthereum zip
unzip openethereum.zip
Create password file for mining account.
echo "YOUR-VAL-UNIQUE-PASS" > password
Create your mining account
./openethereum account new --keys-path=data/keys --password=password --chain=etherlite
Save the return address for stept 11
Copy
.env.example
to.env
cp .env.example .env
Update
.env
file. There are a few settings you need to define:nano .env Update Parameter below. EXT_IP=YOUR-EXTERNAL-IP-ADDRESS ACCOUNT=0x...
EXT_IP
- External IP of the current server.ACCOUNT
- Your mining address (with leading0x
).
Start your node.
docker-compose up -d
After docker containers are created, the node will sync with the chain (may take a while, 3+ hours).
To restart you need to use
docker-compose stop
anddocker-compose start
being in thevalidator-node-dockerized
directory.Check if sync is completed.
curl --data '{"method":"eth_syncing","params":[],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545
This is what you're waiting to see: {"jsonrpc":"2.0","result":false,"id":1}
Security.
There is no need to setup a UFW firewall (There are too many ports to allow for communication between nodes)
So make sure it is Offline. (There is nothing of value anyway, unless you are running other scripts with your EtherLite Node, Not recommended)
sudo ufw status
You should get "Status: inactive"
If not type:
sudo ufw disable
(Optional) We recommend you to install Fail2ban to avoid brute force attack.
Setup Monitoring with a crontab entry. (If your node go offline, it will restart automatically.)
sudo chmod 755 /root/validator-node-dockerized/cron/watchdognode.sh crontab -e Add this line to the end of the file plus(+) a carriage return(blank line). save and exit. * * * * * $HOME/validator-node-dockerized/cron/watchdognode.sh > $HOME/validator-node-dockerized/cron/watchdognode.log 2>&1
(Optional) Monitor all your nodes with Site24x7. Receive Server Down, Critical or Trouble SMS/eMail alerts.
Double check if your validator node is working after ReBooting before you submit it to https://staking.etherlite.org
sudo reboot
Wait 2 minutes before login back in your server.
curl --data '{"method":"eth_syncing","params":[],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545
Again, This is what you're waiting to see: {"jsonrpc":"2.0","result":false,"id":1}
Next test if RPC communication is enabled with your server, type
http://YOUR-EXTERNAL-IP-ADDRES:8545
in any web browser.This is the message you're waiting to see: Used HTTP Method is not allowed. POST or OPTIONS is required
Now you are ready to got to https://staking.etherlite.org. Just click the Become a Candidate Button and fill up the form.
All done now! You are now a Validator Node Master...
Join our Discord Support Channel
Manage Social, Meeting, Chat, CRM, Helpdesk, Mails, Apps, Files, Sales & Marketing with ZOHO