HomeGuidesChangelog
GuidesDiscussions & SupportGitHubLog In
These docs are for v4.0.0. Click to read the latest docs for v4.4.2.

Syscoin 4.0 Testnet

This guide is for trying out Syscoin 4.0 on our public testnet

1. Things to Know

  1. This "testnet is actually a fake mainnet so there's no need to specify -testnet=1 in the configuration
  2. There's a few executable to be aware of. There's the standard syscoind, syscoin-cli, and syscoin-qt. And there's geth binary and relayer binary in the repo as well. Starting syscoind with default argument will also start the geth and relayer binaries.
    (TODO: syscoind has to start from the src/ folder for it to find the geth and relayer binary)
  3. Syscoin 4 is based off Bitcoin Core 0.17. So expect some major changes to the RPC call list.
    For example, there's no more getinfo. Instead, it's broken down to getwalletinfo, getnetworkinfo, getblockchaininfo. Also, getnewaddress produces a new format known as Bech32 address.
  4. Default data directory is now back to "syscoin" instead of "syscoincore".

Before opening issues, please see Syscoin 4.0 Testnet Q/A

2. Masternode Requirement

Running a masternode on syscoin 4.0 has enforced hardware requirement as below:
2+ Cores
4+ GB RAM
4+ GB swap
Linux 18.04 (Or with C++17 gcc/g++)
Port open for Syscoin (default: 8369) and Geth (default: 30303)

3. Configuration File

rpcuser=username
rpcpassword=password
rpcport=8370
addnode=54.203.169.179
addnode=54.190.239.153
gethtestnet=1

4. Building

Please refer to https://github.com/syscoin/syscoin/blob/dev-4.x/doc/build-unix.md for more detail

General Guide is as the follow:

  1. Install dependencies
$ 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-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

1.1 if you're NOT using bionic (ubuntu 18.04+), you'll have to install g++-7 as this version of syscoin has to be compiled with C++-17. Use the below commands to install

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt update
$ sudo apt install g++-7

#########
# the configure steps after this will have to run like this instead
$ ./configure CXX=g++-7
  1. Then follow the typical procedure:
$ git clone http://www.github.com/syscoin/syscoin
$ git checkout dev-4.x
$ cd syscoin
$ ./autogen.sh
$ ./configure
$ make
$ cd src
$ ./syscoind

5. Launching Syscoind

Ensure you're in the src/ folder and then start up syscoind with the configuration posted above.
There's a sequence to watch for to ensure the node is started up properly.

  1. Once started, check syscoin-cli getblockchaininfo. 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 familiar Geth logs where it's syncing.

  2. 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"

  3. Once masternode status shows sync finished, the node will start to download blocks from other peers and you should see block height going up in syscoin-cli getblockchaininfo

  4. Now you're node is ready! Do a syscoin-cli getnewaddress <label> legacy and head to discord's testnet channel to ask for tSYS!