Single masternode on Linux VPS (Ubuntu 16.04 x64)

Prerequisites:

  • 1. A remote server (Virtual Private Server, VPS) which will be our masternode wallet.
  • 2. PuTTY, which will be used to setup the server (install the dependencies, the wallet itself, and configure everything) after the initial configuration.
  • 3. 5001 or more QNO as collateral (5000 QNO + 1 QNO to cover the transaction fees)

Summary:

1. Deploy VPS server
2. VPS configuration
3. Start masternode
4. Install Sentinel

1. Deploy VPS server

a) Register: https://www.vultr.com/ and add some funds. Min $10

b) Press "Servers"

c) Press "+"

Select any server location | Server type: Ubuntu 16.04 x64 | Server Size: 25 GB SSD 5$/mo 1cpu 1024mb 1000gb or greater

Server hostname & label: Give name to your server (ex: QYNOMN1)

d) Press "DEPLOY NOW"

Once install done you'll get confirmation email. It'll take up to 5 mins.

e) Press your server name

You'll see your IP, username and password
*to see your password press "EYE" icon


2. VPS configuration

a) Download PUTTY for your windows system https://www.putty.org

b) Copy your VPS IP address and open PUTTY
* Note your VPS IP address in Notepad(text file)

c) Paste IP to PUTTY "Host name" and press OPEN and answer "Yes"

Login as: root
Password: (copy from vultr server screen in browser)

* It is absolutely normal that password is invisible. Cursor will not move.
* For paste your password just click right mouse button, you will not see anything - it's normal, press ENTER.
* Always use mouse selection for COPY text from PUTTY to WINDOWS
* Always use right button click for PASTE text in PUTTY from WINDOWS

d) Upgrade OS by running the following commands(copy-paste one by one and confirm by ENTER button):
apt-get update
apt-get upgrade
(Press Y and ENTER when prompted)
apt-get dist-upgrade
(Press Y and ENTER when prompted)
reboot
Reconnect to server with PUTTY
apt-get install software-properties-common nano libboost-all-dev libzmq3-dev libminiupnpc-dev libssl-dev libevent-dev wget
(Press Y and ENTER when prompted)
add-apt-repository ppa:bitcoin/bitcoin
(Press ENTER when prompted)
apt-get update
apt-get install libdb4.8-dev libdb4.8++-dev
(Press Y and ENTER when prompted)
mkdir /root/qyno && cd /root/qyno

e) Download the latest wallet version:
wget http://latest.qyno.org/qyno-linux64.tar.gz
* Fresh link you can always copy from: https://github.com/qyno/qynocoin/releases

f) Extract all files from the wallet tar.gz file using the tar command, delete archive and go to qyno folder:
tar -xvf qyno-linux64.tar.gz && rm qyno-linux64.tar.gz && cd qyno-1.0.0
* Name "qyno-linux64.tar.gz" could be different. Depend on current version. Check file name on github repository first and make necessary correction in command if needed.

g) Make it possible to launch QYNO core from any directory and start QYNO wallet:
chmod +x qyno*
mv qyno-cli qyno-qt qyno-tx qynod /usr/local/bin
cd ..
rm -rf qyno-1.0.0
qynod -daemon
It should say “Qyno Core server starting”

h) Get QYNO masternode address. This is address where you should send exactly 5000 QNO.
qyno-cli getaccountaddress masternode
* Note qyno address in Notepad(text file)

i) Send 5000 coins to the generated address and wait 15 confirmations (15mins approximately).

j) Generate the private key for the masternode and copy it to notepad.
qyno-cli masternode genkey
* Note qyno masternode privatekey in Notepad(text file)

k) Stop wallet and edit qyno.conf file:
qyno-cli stop
nano /root/.qyno/qyno.conf

l) qyno.conf file will be opened automatically in Linux text editor. You should change RPCUSER(any), RPCPASSWORD(any), EXTENALIP(your VPS ip address - you got it on step#2-b) and MASTERNODEPRIVKEY(you got it on step#2-j). Copy below text to notepad, change only red text with your data and paste it in putty:

rpcuser=ReplaceWithYourUsernameOnlyAlphabeticWithoutSymbolsAndSpaces
rpcpassword=ReplaceWithYourPasswordWithoutSymbolsAndSpaces
rpcallowip=127.0.0.1
rpcport=37111
listen=1
server=1
daemon=1

externalip=ReplaceWithYourVpsIpFromStep#2-b:37110
masternode=1
masternodeprivkey=ReplaceWithYourPrivKeyFromStep#2-k

m) Save changes in qyno.conf file and exit by pressing CTRL+O -> ENTER -> CTRL+X

n) Start qynod again and wait for full sync.
qynod

o) Get masternode collateral_output_txid and collateral_output_index and save it to Notepad(text file) without quotes and brakets:
qyno-cli masternode outputs

p) Edit masternode.conf file: nano /root/.qyno/masternode.conf

q) To the bottom of text you should paste your data(divided by spaces):
Masternodename - any you want
IP:port - Your VPS ip address(you got it on step#2-b) and port 37110(port is fixed for all)
masternodeprivkey - You got it from step #2-k
collateral_output_txid - first part of masternode outputs(you got it on step#2-o)
collateral_output_index - second part of masternode outputs(you got it on step#2-o)

r) Save changes in mastenode.conf file and exit by pressing CTRL+O -> ENTER -> CTRL+X

s) Stop and start qyno server by:
qyno-cli stop
qynod
It should say "Qyno Core server starting"

t) Make sure your wallet is syncing with the QYNO network:
qyno-cli mnsync status

"AssetName": "MASTERNODE_SYNC_FINISHED",
"IsBlockchainSynced": true,
"IsMasternodeListSynced": true,
"IsWinnersListSynced": true,
"IsSynced": true,
* This means that your node is synchronized


3. Start masternode

a) Type in PUTTY:
qyno-cli masternode start-all

b) To check masternode status:
qyno-cli masternode list-conf

* Your status will become "PRE_ENABLED" and after 30-60min it will be changed to "ENABLED"
* Restart your wallet(qyno-cli stop && qynod), make sure your wallet is syncing with the Qyno network(qyno-cli mnsync status) and masternode(qyno-cli masternode start-all) if your status became "NEW_START_REQUIRED" after running a few days.
* Don't worry if status is "WATCHDOG_EXPIRED". It will go back to "ENABLED" in 30-60 minutes.

Helpful

1) If you would like to check on your wallet's balance and see if you have earned any rewards, enter this command. Any rewards earned from your masternode will appear in the immature_balance until they have reached 100 confirmations, and then they will move to your spendable balance.
qyno-cli getwalletinfo

2) If you want to send money to another wallet address (exchange or somewhere) use command:
qyno-cli sendtoaddress [address] [quantity]
* Replace [address] with destination address and replace [quantity] with amount of coins to send.
Example: qyno-cli sendtoaddress QTiUnRKCeuKFKZG2BUaKzp6ivpbPUXrqpR 250


4. Install Sentinel

a) Make sure Python version 2.7.x or above is installed: python --version
cd /root/qyno

b) Installation:
apt-get update
apt-get -y install python-virtualenv
git clone https://github.com/qyno/sentinel.git && cd sentinel
apt-get install virtualenv
(Press Y and ENTER when prompted)
virtualenv ./venv
./venv/bin/pip install -r requirements.txt

c) Configuration sentinel.conf:
nano sentinel.conf

d) Copy blue text and paste in PUTTY:
qyno_conf=/root/.qyno/qyno.conf
(And press ENTER to move string to next line)

e) Use CTRL+O -> ENTER -> CTRL+X (for saving changes and exit to command line).

f) Test Sentinel:
cd /root/qyno/sentinel
SENTINEL_DEBUG=1 ./venv/bin/python bin/sentinel.py

* This is mean your sentinel is working fine
* Run command after masternode start only. It will not show sentinel status now.

g) Set up a crontab entry to call Sentinel every minute:
crontab -e
(Press 2 and ENTER when prompted)

h) COPY bold text and paste it in PUTTY:
* * * * * cd /root/qyno/sentinel && ./venv/bin/python bin/sentinel.py >/dev/null 2>&1

(And press ENTER to move string to next line)
Use CTRL+O -> ENTER -> CTRL+X (for saving changes and exit to command line)


CONGRATULATIONS! YOU DID IT!
GOOD LUCK!