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