Important Preliminaries
Please read them carefully.
-
You will need 100 000 SYS, plus change.
-
You will need a server (can be virtual) with the following requirements:
- 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
- VM or OpenVZ (KVM preferred)
- Linux OS, Ubuntu 18.04.1 LTS (Bionic Beaver) preferred
- 80GB Disk Space (100GB+ SSD preferred)
Check the list below for options. We purposefully donât provide a single recommendation because we aim for a network that is regionally distributed and spread across various hosters.
-
You will need the latest version of Syscoin Qt 4.x. If you are still on Syscoin 3.x then you will need to follow the Upgrade Guide.
-
We indicate placeholders by using squared brackets.
[PASSWORD]
becomes12345
if your password is12345
. In fact, if your password is so simple, urgently learn about secure passwords and then change it.
List of VPS Providers
There are many VPS service providers that offer and exceed the hardware requirements, as such it is recommended that you shop around and do your own homework on various potential providers. Note the following is a list of just some examples and should not be interpreted as recommendations or endorsement.
Installation
1. Getting Prepared
To stake your masternode you will need to provide exactly 100,000 SYS in your masternode address. Use Syscoin-Qt for your system to process this transaction.
Wait for your local Syscoin-Qt to fully sync.
2. Unlocking Syscoin-Qt
To unlock your wallet: go to Window-> Console
and type:walletpassphrase [PASSWORD] [SECONDS]
and press andEnter
.
The[SECONDS]
parameter defines for how many seconds your wallet should stay unlocked. You can also lock it again manually usingwalletlock
.
3. Generating a Masternode Control Token
To generate your masternode control token, go to Console
and type:masternode genkey
and pressEnter
.
- Copy this value as you will need it later, it will look similar to the following:
4. Generating A New Legacy Address
Note: You need a Syscoin 4 address in a special legacy format, that can only be created using the console. Please follow these instructions without deviation.
- Go to Console and type:
getnewaddress [LABEL] legacy
and pressEnter
.- Pick something descriptive, such as
Masternode42
as label. - Masternodes require legacy addresses, and will neither work with the new Bech32 addresses that start with
sys
nor with ordinary addresses starting with3
.
- Pick something descriptive, such as
- Copy this address as well as you will need to send your collateral to it in the next step.
Note: If you are creating multiple masternodes, you will need separate control tokens and collateral addresses for each.
5. Sending 100,000 SYS Collateral
- Use the GUI, click on the
Send
tab. - Click on
Inputs ...
- If you canât see
Inputs
go to the settings and enableCoin Control
.
- If you canât see
- Select the unspent transaction outputs you want to use for your collateral, click
OK
.- Be aware that you cannot send transactions with more than 675 inputs.
- Enter your masternode collateral address from the previous step into the
Pay To
field. - Enter exactly
100,000
into theAmount
field and do not subtract fees from the amount.
- Press
Send
, enter your password if asked, confirm the transaction details. - Find your funding transaction in the transaction view by the label you provided earlier.
- Right-click on your new transaction and select
Copy transaction ID
.
6. Getting your Output Index
- Go back to the Console, type:
masternode outputs
and pressEnter
.
Match the transaction ID you just copied to the corresponding entry and note down the number behind it. This is the output index.
7. Editing maternode.conf
Next we will have to edit the masternode.conf file.
- Navigate to the
masternode.conf
in The Syscoin data directory. - Open
masternode.conf
in a text editor of your choice, the simpler the better.
# Masternode config file
# Format: alias IP:port control_token collateral_output_txid collateral_output_index
- Add a line at the bottom of the file, adhering to the format indicated in the comment at the top.
- Lines starting with
#
are comments and will be ignored by Syscoin. - The alias you enter will identify this masternode in the
Maternodes
tab in Syscoin-Qt. - The required
IP
is that of your server. - Use the
8369
as the port. - Fill the rest of the fields with the information you copied earlier.
- Lines starting with
# Masternode config file
# Format: alias IP:port control_token collateral_output_txid collateral_output_index
mn1 123.123.123.123:8369 5ra1rhngvNkhkiFE8STrmvH3LvYTCzLyRFHFsZvrJUBV6ZmWnc 06e38868bb8f9958e34d5155437d009b72dff33fc87fd42e51c0f74fdb 0
- Save the file
- Close and restart Syscoin-Qt.
- If you canât see a
Masternode
tab, you can also enable that in the settings. - If you donât see your masternode listed in the
Masternode
tab please double check the above configuration. - If you now go to Coin Control you will see you collateral and it will have a padlock indicating it is locked.
- If you send any Syscoin from this wallet make sure that your collateral is locked.
- Convenience: After restarting, keep Syscoin-Qt running, we will need it again after setting up the server.
- If you canât see a
8. Installing syscoind on your server
Note: Weâre using a script to keep this step as simple as possible. Itâs a good idea to read through any script you find on the Internet before running it, including this one made by the community:
https://raw.githubusercontent.com/Syscoin/Masternode-install-script/master/script.sh
- Connect to your server via SSH.
Win
You can use PuTTY as SSH client.
- If youâre not
root
, becomeroot
by runningsudo -s
.- If you are
root
already, please consider creating another user accont and disabling root login as that is a security issue - especially if you log in using a password, instead of public key encryption.
- If you are
- As root, enter the following command to start the automated install:
bash <(curl -sL https://raw.githubusercontent.com/Syscoin/Masternode-install-script/master/script.sh)
- Note this has only been tested on Ubuntu 16.04 and 18.04.
-
curl
will download the file and feed it tobash
which is the name of the thing youâre typing your commands into.bash
will then interpret the lines in the files as commands to execute and run the script.
- Providing input to the script.
- Default values are found in brackets and pressing enter will selected them.
- For entries with a [Y/n] the capital letter is the default. Enter
y
to choose âyesâ orn
to chooseno
. - Likely the only value you will need to enter is your masternode control token.
Syscoin Core Github Branch [master]:
Masternode Control Token []: 5ra1rhngvNkhkiFE8STrmvH3LvYTCzLyRFHFsZvrJUBV6ZmWnc
External IP Address [123.123.123.123]:
Masternode Port [8369]:
Configure for mainnet? [Y/n]:
Press any key to continue or Ctrl+C to exit⌠- Wait for the setup to finish.
- Setup your access to syscoind.
type:source ~/.bashrc
and pressEnter
. - Check you are fully synced and geth_sync_status = synced:
typesyscoin-cli getblockchaininfo
and pressEnter
- You will get this error until you start your Masternode as below
âstatusâ: âNot capable masternode: Masternode not in masternode listâ
START MASTERNODE
9. Initializing your masternode
Note: The next step requires a fully synced Syscoin-Qt, which should have happened by now if you didnât close it as advised earlier. Otherwise, start it again and wait for it to fully sync. This can take 10 minutes.
1. Choose the Masternodes
tab, select your masternode,
2. Click Initialize
.
Note: For the moment, the Initialize
Button is bugged. We need to use the Console again.
- Unlock your walled as you did at the start in Step 2.
- Go to the Console, enter
masternode initialize [MASTERNODE LABEL]
- Every time you do this, you will reset the grace period your node has to wait before it can receive rewards. The grace period 102 hours at the time of this writing.
- (Re-)Initializing a masternode does not affect seniority. Seniority is only dependent on the funding transaction.
- If the masternode status ever becomes
New_Start_Required
and stays that way over 15-30 minutes, that means it has been disconnected from the network. Something might be wrong, it might be time to re-initialize it again as it wonât receive rewards anymore.
10. Governance / Sign up to Syshub (optional but highly recommended)
As the proud owner of a masternode, you are elligible to partake in Syscoinâs governance process.
The most convenient way to do this, is to head over to Syshub.org and register your masternode.
Syshub allows you to easily, securely and comfortably:
- create proposals
- vote on proposals
- âŚand checkout some statistics around masternodes.
This is a community project, your votes and your input are important.
Command reference to manage your masternode
MASTERNODE COMMANDS IF YOU USED THE SCRIPT
View your syscoin.conf
nano /home/syscoin/.syscoin/syscoin.conf
View your sentinel.conf
nano /home/syscoin/sentinel/sentinel.conf
View the syscoin user crontab which should contain:
sudo crontab -u syscoin -l
Run a sentinel ping to speed up Qt syncing? why not!
sudo su -c "sentinel-ping" syscoin
View the sentinel-ping cron log, look for errors
sudo less /home/syscoin/sentinel/sentinel-cron.log
View the syscoind debug log, look for errors
sudo less /home/syscoin/.syscoin/debug.log
Start and stop the syscoind systemd service
sudo service syscoind stop
sudo service syscoind start
sudo service syscoind restart
Check that the syscoind process is running at the proper user
ps aux | grep syscoind
Aliases to run the respective syscoin-cli
command as the syscoin
user:
syscli getblockchaininfo
syscli mnsync status
syscli masternode status
If you really want to log in as the syscoin user
sudo su - syscoin
Eligibility for Rewards
Keep in mind that your masternode will not immediately be eligible for rewards. The eligibility period in hours is given by the formula ([number of masternodes] * 4) /60
.
Future Updates
Updates and reconfigurations can be performed by entering the command sysmasternode
or the initial auto install command:
bash <(curl -sL https://raw.githubusercontent.com/Syscoin/Masternode-install-script/master/script.sh)
. (the earlier is an alias for the later)
Summary
This script installs the necessary dependencies to build the Syscoin Core from source. It creates a user named syscoin
and uses a systemd service to start the syscoind
process as the syscoin
user automatically at boot after the necessary networking services have started.
Resources
Sysnode.info: This website has an array of tools such as Masternode Stats, Monitoring and keeping up to date with current news with Syscoin.
Acknowledgements
Special thanks to demesm and doublesharp for the initial script, Bigpoppa for most of the conversion and bitje, johnp and the Syscoin team for upgrading and working out minor issues to get it running on SYS4.