Syscoin 4 Masternodes Manual Setup

Below are the minimum requirements for your VPS. Please do not try to compile without the minimum.

64-bit CPU — 2 Cores (4 preferred)

4gb RAM (real) minimum (8gb RAM preferred)

4gb swap (if less than 8gb real RAM) Will need to use SSD if using Swap

KVM or OpenVZ (KVM preferred)

Linux OS — Ubuntu 18.04.1 LTS (Bionic Beaver) preferred.

80gb Disk Space (100gb+ SSD preferred).

Port open for Syscoin (default: 8369) and Geth (default: 30303)

To use this procedure you must have upgraded your QT to Sys4 or for a new user download QT from the Github link in the guide below and just add the config file no need to dumpwallet.

https://medium.com/@bittyjohn1954/syscoin-4-conversion-from-syscoin-3-1288c5027d45

Please read these instructions carefully the majority of issues are because these instructions are not read correctly.

SYS4 Masternodes require legacy addresses please see Script guide for how to set you collateral up correctly

https://medium.com/@bittyjohn1954/syscoin-4-masternodes-setup-unofficial-guide-assuming-a-clean-install-b48d257741cf

Update your VPS OS:

Log onto your Server using Putty as Root.

All text in boxes are commands and need to be typed (Copy/Paste into Putty followed by Enter.

Install Nano (Text editor)

sudo apt-get update

sudo apt-get install nano

Open ports/enable firewalls etc.
apt install ufw python virtualenv git unzip pv
ufw allow ssh/tcp
ufw limit ssh/tcp
ufw allow 8369/tcp
ufw allow 30303/tcp
ufw logging on
ufw enable

Install Swap file if you have only 4gb Memory

fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
nano /etc/fstab

Add the following line at the end of the file, then press Ctrl + X to close the editor, then Y and Enter save the file.

/swapfile none swap sw 0 0

We will create a new user with the following command, replacing <username>with a username of your choice.

adduser <username>

You will be prompted for a password. Enter and confirm using a new password (different to your root password) and store it in a safe place. You will also see prompts for user information, but this can be left blank.

Once the user has been created, we will add them to the sudo group so they can perform commands as root.

usermod -aG sudo <username>

Reboot the server:

Log onto your Server using Putty with the Username and password you created not as Root.

Build Syscoin Core from sources:

sudo apt-get update 
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev
sudo apt install git
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
git clone http://www.github.com/syscoin/syscoin
cd syscoin
git checkout master
./autogen.sh
./configure
make -j$(nproc)
// (This will take 40 minutes or more, do not shut Putty down)
mkdir ~/.syscoin

We need to create the config file

nano ~/.syscoin/syscoin.conf

Paste in the following:

# rpc config
rpcuser=user
rpcpassword=password
rpcallowip=127.0.0.1
rpcbind=127.0.0.1
rpcport=8370
# syscoind config
listen=1
server=1
daemon=1
maxconnections=24

Press Ctrl + X to close the editor and Y and Enter save the file

Run Syscoin Core

cd ~/syscoin/src
./syscoind

Syscoind will start and type to check progress.

./syscoin-cli getblockchaininfo

Wait for “geth_sync_status”: “synced”

Look for the “geth_sync_status”. The state should go form “waiting” to “syncing” to “synced”. If you’re running without the -daemon argument, you'll see the terminal being flooded with Geth logs where it's syncing.

Then, check ./syscoin-cli mnsync status. The asset name should go from "MASTERNODE_SYNC_INITIAL" to "MASTERNODE_SYNC_LIST" to "MASTERNODE_SYNC_MNW" to "MASTERNODE_SYNC_GOVERNANCE" to "MASTERNODE_SYNC_FINISHED"

Once Synced stop Syscoind

./syscoin-cli stop

Edit syscoin.conf

nano ~/.syscoin/syscoin.conf

Add the following using your MN key created in QT (see script guide for details) and your VPS IP

# masternode config
masternode=1
masternodeprivkey=7ra1rhngvNkhkiFE8STrmvH3LvYTCzLyRFHFsZvrJUBV6ZmWnc
externalip=123.123.123.123
port=8369

Save.

Start syscoind

./syscoind

Check the status

./syscoin-cli getblockchaininfo

Check Masternode has Synced

./syscoin-cli mnsync status

Start Masternode in QT

Check it has started

./syscoin-cli masternodelist json yourvpsip

Install Sentinel

Please ensure you are still in syscoin/src directory 
(cd ~/syscoin/src)
sudo apt-get update
sudo apt-get install -y git python-virtualenv
git clone https://github.com/syscoin/sentinel.git
cd sentinel
git checkout master

We now need to edit the sentinel config file

nano sentinel.conf
  1. If there is a # In front of syscoin_conf= then remove it
  2. Change the directory from syscoincore to just syscoin
  3. put a # next to network=testnet remove the # next to network=mainnet to enable mainnet version of sentinel.
  4. replace YOURUSERNAME with your VPS user name next to syscoin_conf at the top

Save

Should look like this

Finish Sentinel setup

virtualenv venv

If this command fails try installing this package

sudo apt-get install -y virtualenv and then run virtualenv venv

Install sentinel dependencies

venv/bin/pip install -r requirements.txt

venv/bin/python bin/sentinel.py

Should return nothing but silence. This is how you know it’s working. 
If it says wait for sync, wait a minute and try again.

Create a crontab entry to wake sentinel every 5 minutes.

crontab -e

Please wait and select Nano as the option if this is the first time you have done this and add this line to the end of the file, including * * * * *

  • */5 * * * * cd /home/YOURUSERNAME/syscoin/src/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log

To Start Syscoind automatically on boot you can add this line.

//Thanks to Locutus

  • @reboot /home/YOURUSERNAME/syscoin/src/syscoind -daemon >/dev/null 2>&1

Replace YOURUSERNAME with your VPS user name.

Save

Check to see MN state

cd ..
./syscoin-cli masternodelist json yourvpsip

UPDATES WHEN REQUIRED

We will create a little script file (thanks to BP)

cd ..
nano update.sh

Add these lines and save

#!/bin/bash
echo "Updating Syscoin to Latest Master"
update(){
~/syscoin/src/syscoin-cli stop
cd ~/syscoin
git pull
./autogen.sh
./configure
echo "Compiling Syscoin"
make -j$(nproc)
clear
echo "Restarting Syscoind"
~/syscoin/src/syscoind
}
update
echo "Syscoind Updated"

Now give permissions

chmod +x update.sh

Now anytime you want to Update, just Log on as your user and type

./update.sh

Eligibility for Rewards

Keep in mind that your masternode will not immediately be eligible for rewards. The eligibility period is determined by the formula ([number of masternodes] * 4) /60 in Hours.

Note, if you restart your masternode by pressing “Initialize” in Qt this counter will reset and you will not receive rewards until your masternode is eligible again.

GOVERNANCE

AS A PROUD OWNER OF A SYSCOIN MASTERNODE YOU ARE ELIGIBLE TO TAKE PLACE IN GOVERNANCE VOTING PLEASE TAKE THE TIME ONCE A MONTH TO VOTE SEE SYSHUB FOR DETAILS.

THE AMOUNT OF GOVERNANCE HAS INCREASED SIGNIFICANTLY SO MAKE YOUR VOTE COUNT.

JOB DONE