Syscoin 3.0 with Masternodes Cold Setup Guide

THIS IS DRAFT ONLY THIS IS DRAFT ONLY THIS IS DRAFT ONLY THIS IS DRAFT ONLY THIS IS DRAFT ONLY THIS IS DRAFT ONLY

DO NOT USE YET, DO NOT USE YET, DO NOT USE YET


Getting started:

Masternode minimum hardware specifications:

  • 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. 

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.


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


Please ensure you use ‘ufw allow 8369/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 Putty with the Username and password you created in the VPS guide not as Root.

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

Install Nano (Text editor)

$ 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 TBA
$ cd syscoin3 TBA


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, install BM and QT whilst waiting, do not shut Putty down)


Install Blockmarket Desktop (Required to create an Alias for AirDrops)

Download the latest BM DT from https://syscoin.org near the bottom

Install BM DT, allow it to 100% sync, fund it and create an alias (See guide below). For now switch to basic alias creation set the public field to the same as the alias name as you need to fill both fields in. Please do not extend the expiry date beyond 3 years as this might cost you quite a bit. Once created go to Send/Receive-Receiving Address List, there you will see your Alias with its associated Syscoin address.

Create a Notepad file on your Desktop.

Copy your Syscoin address here for later use, this will be used to send the collateral (100k) to.

Make sure you Encrypt your wallet as per the guide and do not forget this password otherwise you have lost access to your funds.

Close BlockMarket down, you cannot run both BM and QT at the same time.


Install Syscoin3 QT on Local Machine (Required to run MasterNodes)

Download the latest Mainnet version from

TO COME


Start up your Syscoin Wallet, once it is loaded 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.


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 notepad file on your Desktop. This is the key you will need to verify your Masternode later in the process.


Exit the console.


This is a good time to encrypt your wallet if you have not already done so, go to Settings to encrypt.


You should also backup your wallet at this point, go to File Backup

Please note on this version of QT, backups are automatically created when you open the QT, these can be seen by going to Tools-Show Automatic Backups. Any Backups made before you encrypted your wallet should be permanently deleted.


Go to Send and send 100,000 syscoin (pay to) to your collateral address created earlier. You will require a transaction with EXACTLY 100,000 SYS.


Go to Transactions and copy the Transaction ID (right click on the transaction) of the collateral (where you received your 100,000 SYS) into the notepad file. Please wait for at least 1 confirmation on this transaction before proceeding with your masternode setup. This will show as payment to yourself


Setup Syscoin Core configuration:

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

$ mkdir ~/.syscoincore TBA

We need to create the config file

$ nano ~/.syscoincore/syscoin.conf TBA


Paste in the following:


#
rpcuser=SetAUserName
rpcpassword=Set A Password
rpcallowip=127.0.0.1
#
listen=1
server=1
daemon=1
maxconnections=24
#
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


It should look like this


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


Run Syscoin Core

$ cd ~/syscoin3/src  ?????? TBA
$ ./syscoind


Please wait for Wallet message ( Warning: Make sure to encrypt your wallet and delete all non-encrypted backups after you verified that wallet works!) then press Enter, this might take a couple of minutes, then continue. You do not need to encrypt your Wallet as no funds are stored in it.


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 a MasterNode aliasname then the external ip of your VPS and port 8369, your masternodeprivkey and your transaction hash 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.

$ 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) put a # next to network=testnet remove the # next to network=mainnet to enable mainnet version of sentinel.


 2) 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 Masternode 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/syscoin3/src/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log ????? TBA


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

//Thanks to Locutus

@reboot /home/YOURUSERNAME/syscoin3/src/syscoind -daemon >/dev/null 2>&1 ??? TBA

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.

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


You should see a message “Masternode successfully started” if not return to the Syscoin QT and start your masternode Alias again.


Check to see if communicating


$ ./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 Watchdog Expired.


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


Congratulations!