Manual Smartnode Setup
Getting Started With Your VPS
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:
1. Update the server
sudo apt update && sudo apt upgrade -y
2. Add 2GB of SWAP
First check to make sure there is not already swap active:
free -h
If the return is 0, you should create and activate the SWAP.
Swap: 0B 0B 0B
Create SWAP and Activate (only if required):
sudo dd if=/dev/zero of=/swapfile bs=1k count=2048k sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstab sudo sysctl -w vm.swappiness=10 sudo echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
The return of the echo should be: swappiness = 10
3. Enable firewall & open ports
First check to make sure there is not already swap active:
apt install ufw -y ufw default deny incoming ufw default allow outgoing ufw allow ssh ufw allow 48168/tcp ufw enable
4. Install Fail2Ban
sudo apt install fail2ban -y sudo nano /etc/fail2ban/jail.local
Copy and paste the following config into the file:
[sshd] enabled = true port = 22 filter = sshd logpath = /var/log/auth.log maxretry = 3
Restart fail2ban:
sudo systemctl restart fail2ban
Reboot the server:
sudo reboot
5. joss daemon
You can monitor the activity of the daemon with this command:
mkdir joss-latest cd joss-latest # download latest daemon wget https://github.com/jossnetwork/joss/releases/download/0.11.6.50/wallet-linux.tar.gz tar -xvf wallet-linux.tar.gz # create config file cd .. mkdir ~/.josscore && touch ~/.josscore/joss.conf # set executing permission chmod +x ~/joss-latest/./jossd # sync with the network ~/joss-latest/./jossd --daemon
6. Collateral address
Open your LOCAL wallet.
Create new receiving address.
Send 168,000 $JOSS to the new receiving address.
Wait transaction confirmation
7. Build protx command for control wallet
Enter the protx command in the Debug console of YOUR LOCAL wallet. This will create a .conf file for that node in the same directory you ran the wallet from.
protx quick_setup [Transaction ID] [Collateral index] [Smartnode server IP:48168] [Fee address]
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. - Smartnode server IP:48168
Replace example IP with your Smartnode server IP, leave port as is. - Fee address
This is any address in your wallet that contains enough JOSS to pay the fee (cannot be the address to which you sent the 168,000 $JOSS). When you enter the protx quick_setup command it is a transaction and needs to be paid for. It is a very small amount of -0.0000168 $JOSS. In Debug console do “listaddressbalances” to show all addresses with a balance, choose one, and replace the address in the example command.
Example:
protx quick_setup "54367172asdf8e3gv541bb7e63c21378o3744c94joo5bf5net195ege31e45518d4" "1" "42.168.42.168:48168" "JBCJcSLtwDSwJepEfOss4Gz4cToPSaPOtP1"
8. Configure the smartnode
# Stop daemon ~/joss-latest/./joss-cli stop # wait until the daemon is stopped, use top to monitor the processes # Open .conf file nano ~/.josscore/joss.conf # Paste the configuration from the step 7 # Start the daemon ~/joss-latest/./jossd
Wait few minutes and validate the smartnode status:
~/joss-latest/./joss-cli smartnode status