Syscoin 2.2 Beta 1 with Masternodes

The Syscoin community is invited to begin testing our upcoming Syscoin Core 2.2 release, which heralds significant advancements for the Syscoin product -family, and is built upon the foundations of Dash core code. Having diagnosed several issues with the Dash core code, we pushed fixes upstream to the Dash github and are currently working with Dash core developers to further patch the Dash source codebase. For the technically-minded, here is a relevant pull request: https://github.com/dashpay/dash/pull/1730

During this beta testnet phase we will continue to develop and enhance the Syscoin Masternode offerings as we work toward the mainnet release. Any software that stores and transacts value must be tested thoroughly. We will continue to uphold our highest standards in this respect to maintain the long-established safety of funds on our network.

Why Masternodes?

Masternodes V1 is the first step in the transformation of Syscoin from a blockchain based marketplace, to a complete blockchain development platform. Our 2018 development plans include adding decentralized databases and file storage, increasing transaction speed to POS/Visa/Mastercard capabilities, adding true Turing-complete smart contract capabilities for unlimited business logic, sidechains, application layers, and our identity layer. This will all be accessible through an API, rather than a new language, enabling nearly any developer to create any blockchain application they can imagine. All these pieces are required to usher in the next generation of blockchain applications — made for new or existing businesses — easy to use, cheaper, and offering everything available from the blockchain space today!

Getting started:

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 here:

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

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

Update your OS:

$ sudo apt-get update

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 dev-2.2
$ 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 10 minutes or more, grab a coffee or snack)

Setup Syscoin Core configuration:

$ mkdir ~/.syscoincore

Create this file~/.syscoincore/syscoin.conf and 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

Run Syscoin Core and get main masternode parameters:

$ cd ~/syscoin2/src
$ ./syscoind

Type the following command into the console to generate a masternode key and get a fresh address:

$ ./syscoin-cli masternode genkey

Copy the result of the genkey command. Store it in a location for you to reference later (below you are also copying your receiving address and TXID)

How do I get tSYS?

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

$ ./syscoin-cli getaccountaddress 0

Copy & paste the resulting receiving address into our Syscoin #beta-testing slack channel 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.

$ ./syscoin-cli masternode outputs

Wait until you see the transaction ID shows up in the above command, and copy the index number following it too (usually a 0 or 1)

Shutdown Syscoin Core.

$ ./syscoin-cli stop

Setup configuration for masternode:

$ cd ~/.syscoincore

Edit ~/.syscoincore/syscoin.conf and add the last 3 lines:

# — — 
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

Modify and change masternodeprivkey to your genkey (replace 7ra1rhngvNkhkiFE8STrmvH3LvYTCzLyRFHFsZvrJUBV6ZmWnc)

Modify and change external IP to your VPN IP (replace 123.123.123.123)

$ cd testnet3

Edit ~/.syscoincore/testnet3/masternode.conf:

Add your masternode line by adding aliasname with your external ip with port 18369, your masternodeprivkey and your transaction hash using format:

<aliasname> externalip:18369 masternodeprivkey txid 0
# Example: mn1 123.123.123.123:18369 7ra1rhngvNkhkiFE8STrmvH3LvYTCzLyRFHFsZvrJUBV6ZmWnc 2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c 0

Launch Syscoin Core again.

$ cd ~/syscoin2/src
$ ./syscoind

Install sentinel:

$ sudo apt-get update
$ sudo apt-get install -y git python-virtualenv
$ git clone https://github.com/syscoin/sentinel.git
$ cd sentinel
// edit sentinel.conf:
// 1) put a # next to network=mainnet and remove the # next
// to network=testnet to enable testnet version of sentinel
// 2)
replace YOURUSERNAME with your VPS user name next to
//
syscoin_conf at the top
$ virtualenv venv
// if this command fails try installing this package
$ sudo apt-get install -y virtualenv
// 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,
“AssetName”: “MASTERNODE_SYNC_FINISHED”,
“Attempt”: 0,
“IsBlockchainSynced”: true,
“IsMasternodeListSynced”: true,
“IsWinnersListSynced”: true,
“IsSynced”: true,
“IsFailed”: false
}

AssetId 999, all trues, one false, and a FINISHED is what we are looking for

Introduce your masternode to the network:

At this point, your local masternode is synchronized and chatting with the network but is not accepted as a masternode because it hasn’t been introduced to the network by your collateral.

Replace mn1 below with the alias name you put in your masternode.conf file.

$ ./syscoin-cli masternode start-alias <mn1>
$ ./syscoin-cli masternode debug
// look for a success message

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
// and add this line to the end
* * * * * cd /home/YOURUSERNAME/syscoin2/src/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log

Replace YOURUSERNAME with your VPS user name.

After waiting 5 or more minutes if your masternode does not show “ENABLED” state in the masternode tab then you may have to restart it:

$ cd ..
$ ./syscoin-cli masternode list-conf to see your masternode alias
$ ./syscoin-cli masternode start-alias <alias>

Congratulations!

You have successfully completed the testnet tutorial for setting up your first Syscoin masternode! Please report any bugs to Github or join our Slack channel at join.syscoin.org and visit #beta-testing.


For more information visit Syscoin.org or join us on our Telegram Channel . Slack: join.syscoin.org • Twitter: Syscoin • Facebook: Syscoin
Trade Syscoin at Bittrex.com or Poloniex.com