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 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-devsudo 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
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
- If there is a # In front of syscoin_conf= then remove it
- Change the directory from syscoincore to just syscoin
- put a # next to network=testnet remove the # next to network=mainnet to enable mainnet version of sentinel.
- 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.