Smartnode Setup
For the following part of the guide you need to be root. depending on your VPS provider they may have only provided you with a "sudo" user. You can change to root by doing:
sudo su
Guide
1. Update Server
apt update && apt upgrade -y
apt install unzip fail2ban -y
2. Add 4GB of SWAP
First check to make sure there is not already swap active:
free -h
If no swap it will return:
Swap: 0B 0B 0B
Create SWAP and Activate:
dd if=/dev/zero of=/swapfile bs=1k count=4096k
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstab
sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | tee -a /etc/sysctl.conf
swappiness = 10
tells system only to use it if absolutely needed.3. Enable UFW & Open Ports
apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 15420/tcp
ufw enable
4. Configure Fail2Ban
As I am not bothering with setting up SSH login with keys rather then password based login need to keep something from the bots and kiddies brute forcing our SSH service.
Setup jail for bad guys hitting SSH, and set it to ban after three failed logins to SSH:
nano /etc/fail2ban/jail.local
Copy and paste the following into the file:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Reboot the server:
reboot
Add a system user to run yerbasd:
adduser <username_here>
Get Yerbas wallet / daemon and bootstrap:
wget https://github.com/The-Yerbas-Endeavor/yerbas/releases/download/v3.1.4.20/yerbas-ubuntu20-3.1.4.20.tar.gz
tar -xvf yerbas-ubuntu20-3.1.4.20.tar.gz
mkdir ~/.yerbascore && touch ~/.yerbascore/yerbas.conf
echo "daemon=1" >> ~/.yerbascore/yerbas.conf
cd .yerbascore
wget https://github.com/The-Yerbas-Endeavor/YERB-Bootstrap/releases/download/1.0.0.0/powcache.dat
cd ~/yerbas-build
./yerbasd
You should see Yerbasd server starting. You can confirm it is running top -c
it will be using 100% CPU (1 core). This shows you it is working, we will return to it later.
Local Wallet Setup
This part of the guide is to get your local wallet or control wallet setup. If you already have Yerbas core wallet running you can skip to next section.
1. Install and Sync Local Wallet:
For this step, you will need the YerbasCore wallet installed.
Follow our YerbasCore Wallet guides for detailed instructions on how to do this.
To speed up the synchronization, use our POWCache or Bootstrap packages: Using Powcache & Bootstrap
Grab bootstrap from github release and unpack in the above directory (highly recommended as reduces sync time drastically)
If you already have a Yerbas wallet remove the following folders before using the bootstrap (make sure wallet is closed before using bootstrap)
blocks
chainstate
evodb
llmq
To use the bootstrap right click > unzip
. Copy contents to the new directory you created above.
- Start wallet and let it finish syncing.
- Encrypt wallet (Settings > Encrypt Wallet)
- Create new receiving address
- Backup wallet.dat (File > Backup Wallet). Store in multiple locations.
- Dump private key for receiving address (this should be printed and stored offline in multiple locations):
walletpassphrase password time (in seconds)
dumpprivkey "address" (address is the receiving address you sent the 28000 YERB to)
- Send 28,000 YERB to self (this is current collateral amount)
- Wait for 2 confirmations
The private key only allows you to restore the matching receiving address. If you setup multiple nodes you should dump the private key for each collateral receiving address.
2. Build protx command for control wallet
Here is an example protx quick_setup command:
d7898f44c6bdc39a49b0917d5c6bcb61455270ddb9e7eb1168a6b745434daf26 1 194.113.73.87:15420 yaDfcdCupB1T5YoVRjYr8fXCvB8U5AuNX8
The structure from left to right is:
Transaction ID
: In your wallet go to "Transactions" right click the one you sent yourself earlier and "Copy Transaction ID". Replace the Transaction ID in example.Collateral index
: Tools > Debug console. Type smartnode outputs to check if 1 or 0. Adjust example command if needed.Your smartnode server IP and port
. Replace example IP with your Smartnode server IP, leave port as is.Fee address
: This is any address in your wallet which contains enough YERB to pay the fee (cannot be the address which you sent the 28,000 YERB to). When you enter the protx quick_setup command it is a transaction and needs to be paid for. It is a very small amount 1/2 an YERB is more than enough. In Debug console do "listaddressbalances" to show all addresses with a balance, choose one and replace address in example command.
Enter the protx quick_setup command in Debug console. This will create a .conf file for that node in the same directory you ran the wallet from. Open it and copy the contents.
Final steps
Back to the smartnode server:
~./yerbas-cli stop
nano ~/.yerbascore/yerbas.conf
Paste in what you copied from the .conf file made during the protx command, save and exit.
When done with this, run yerbasd from the terminal:
~/./yerbasd
When this is done, wait a couple minutes until running ~/./yerbas-cli smartnode status
to check the status of your smartnode. This should return: Ready Ready
Your Smartnode should now be running!