Syscoin 3 RC5 TestNet with Masternodes Cold Setup Unofficial Guide assuming a clean install

John Syscoin
7 min readDec 2, 2017

--

Video Guide here https://youtu.be/Qz2lRWUAgiU

Getting started:

Below are some recommendations in terms of Masternode minimum hardware specifications (this specification typically costs around $5–$10 USD/month at major hosting portals):

  • 2GB memory
  • 40GB free disk space(SSD recommended)
  • 1 CPU
  • Ubuntu 16.04 LTS x64
  • Hosting services: Microsoft Azure, Vultr, DigitalOcean, Amazon EC2, Google Cloud, Choopa, OVH
  • Fixed IP address

We recommend Ubuntu 16.04 LTS for running a masternode on the testnet. Other builds of Linux may work but we have not tested them. Use at your discretion. To setup your VPS please follow the helpful guide created by strophy which can be found below:

I am using Vultr @$10 pm as it is easy to use and you once you have one working you can make a snapshot of that to deploy additional MasterNodes in a fraction of the time. This is my referral link but you do not have to use it, the choice is up to you but costs you nothing. https://www.vultr.com/?ref=7276515.

To Create your VPS use this Guide to set the VPS up only. Once setup continue to Update your VPS OS.

https://dashpay.atlassian.net/wiki/spaces/DOC/pages/115998724/Set+up+your+VPS

Please ensure you use ‘ufw allow 18369/tcp’ and not ‘ufw allow 9999/tcp’. Please ensure any other firewalls you have allow this port.

Update your VPS OS:

Log back onto your Server using the Username you created in the VPS guide not as Root using Putty. We will be using nano as the editor please ensure it is installed.

All text in boxes are commands and need to be typed into Putty followed by Enter.$ Indicates the start of a new line

You can highlight the text and copy then right click in the Putty window to paste the text excluding $.

$ sudo apt-get update

$ sudo apt-get install nano

Installing dependencies and Syscoin Core (assuming you are in your home directory):

$ sudo apt-get install git
$ git clone https://github.com/syscoin/syscoin2 -b 3.0TMNRC5
$ cd syscoin2

Build Syscoin Core from sources:

$ sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-all-dev libminiupnpc-dev
$ 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
$ ./autogen.sh
$ ./configure
$ make
// (This will take 30 minutes or more, grab a coffee or snack) Do not close Putty

Install Syscoin QT on Local Machine whilst you are waiting:

Download the latest TestNet version from

https://github.com/syscoin/syscoin/releases/tag/3.0TMNRC5

Start up your Syscoin Wallet once it is loaded you will have to edit the config file to allow connection to the TestNet. Go to Tools- Open Wallet configuration File (open in notepad) and add these lines if they do not exist and save the file.

testnet=1
addnode=40.121.201.195
addnode=40.71.212.2
addnode=40.76.48.206
addressindex=1

Go to Settings- Options and enable Coin Control and Show Masternodes Tab

Click OK to save

Close and open Syscoin Wallet and allow to fully sync with the network.

Create a Notepad file on your Desktop

In your wallet go to Tools-debug

You will find the command line at the bottom of the console.

Enter the following command: masternode genkeyand press ENTER.

You will see a long string of numbers and letters, this is your Masternodeprivkey

Please copy/paste this string to the new notepad file on your Desktop. This is the key you will need to verify your Masternode later in the process.

Enter the following command: getnewaddress Labeland press ENTER. Set Label to a name ie MN1.

This will generate your new Masternode’s receiving address!

Please copy/paste this string to the notepad file, as well.

Exit the console.

This is a good time to encrypt your wallet, go to Settings to encrypt.

How do I get tSYS?

tSYS (or test SYS) are required. These are Testnet Syscoin tokens with zero value.

Copy & paste the receiving address generated above into our Syscoin #beta-testing slack channel ( join.syscoin.org )to receive your collateral tSYS to use for masternodes. Someone in that channel will send tSYS to that address. The sender will also give you the Transaction ID to use for your masternode configuration below. If you do not get a TXID please kindly request it from the sender of the coins as it is required.

You will require a transaction with EXACTLY 100,000 tSYS

Copy the Transaction ID of the collateral (where you received your 100,000 tSYS). Please wait for at least 1 confirmation on this transaction before proceeding with your masternode setup.

Setup Syscoin Core configuration:

Return to your VPS and once it has finished installing carry on

$ mkdir ~/.syscoincore

We need to create the config file

$ nano ~/.syscoincore/syscoin.conf

Paste in the following:

#
rpcuser=user
rpcpassword=password
rpcallowip=127.0.0.1
#
listen=1
server=1
daemon=1
maxconnections=24
#
testnet=1
addnode=40.121.201.195
addnode=40.71.212.2
addnode=40.76.48.206
#
masternode=1
masternodeprivkey=7ra1rhngvNkhkiFE8STrmvH3LvYTCzLyRFHFsZvrJUBV6ZmWnc
externalip=123.123.123.123

Where masternodeprivkey is the key you Generated in the Syscoin Wallet and externalip is your VPS IP

Should look like this

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

Run Syscoin Core

$ cd ~/syscoin2/src
$ ./syscoind

Introduce your masternode to the network:

Return to your Syscoin QT Wallet.

Go to Tools-Console and enter the command masternode outputs

You will get a string that looks like this:
{
“06e38868bb8f9958e34d5155437d009b72dff33fc87fd42e51c0f74fdb” : “0”,
}

The long string is your transaction hash, and the last number is the index. The index can be 0 or 1.

This should match the TX where the 100,000 Sys where sent to.

Go to Tools-Open Masternode Configuration File.

Add your masternode line by adding an aliasname then the external ip of your VPS and port 18369, your masternodeprivkey and your transaction hash index plus using format:

Please note there is a space between Portnumber and masternodeprivkey and your transaction hash.

Close and reopen your Syscoin QT

Return to your VPS

Install sentinel: Sentinel is a watchdog for your node which communicates to the network that your node is working properly.

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

We now need to edit the sentinel config file

$ nano sentinel.conf

  1. If there is a # in front of syscoin_conf= remove it
  2. put a # next to network=mainnet remove the # next to network=testnet to enable testnet version of sentinel.
  3. replace YOURUSERNAME with your VPS user name next to syscoin_conf at the top

Should look like this

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

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

Ensure that your masternode is done syncing to the network:

$ cd ..

$ ./syscoin-cli mnsync status

AssetId 999, all trues, one false, and a FINISHED is what we are looking for, repeat the mnsysnc status command until Finished is displayed. (Hint the UP ARROW repeats last command)

Start your masternode :

Return to Syscoin QT

Wait for Sync to finish

Goto MasterNodes Tab

Select your Alias, if it says missing press Start Missing otherwise press Start Alias.

Return to your VPS

Setup Sentinel cronjob:

$ cd sentinel

$ 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 minute.

$ crontab -e

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

* * * * * cd /home/YOURUSERNAME/syscoin2/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/syscoin2/src/syscoind -daemon >/dev/null 2>&1

Replace YOURUSERNAME with your VPS user name.

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

Check MasterNode has started and communicating .

$ cd ..
$ ./syscoin-cli masternode status

You should see a message with details matching your Masternode Conf file in Syscoin QT.

Return to your Syscoin QT.

Please now wait for your MasterNode to be Enabled. This could take 30 mins or so to change from SENTINEL_PING_EXPIRED.

Wait at least 1 hour; if it still shows that after 1 hour, then check your sentinel config part on the VPS

Once it is Enabled you can close your Syscoin Wallet down if you wish.

Congratulations!

--

--

Responses (4)