[3.3] How do I setup a masternode? (Quark)

applies to Quark
branch 3.3

updated July 30, 2019, 4:25 pm

Use the following instructions to setup a masternode for a Quark based coin on Ubuntu Server 18.04.

Make sure that you have the following requirements.

- Required amount of coins to setup the masternode.
- A wallet to store your coins.
- A server or VPS.


Prepare your VPS

Install Ubuntu Server 18.04 on a VPS.

Update your Ubuntu machine.

sudo apt-get update
sudo apt-get upgrade

Install the required dependencies.

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 libboost-all-dev libboost-program-options-dev
sudo apt-get install libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler unzip software-properties-common

Install Berkeley DB.

sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev

Note: replace “examplecoin” with the name of your coin.
Note: replace “6gs39011kick8xmqutpkrvi92xx5kwev4ykanlv1ls0ouuae5x” with the coinID of your coin.

Download the daemon and tools from MyCoin. (Available for a paid coin)

wget "https://dl.walletbuilders.com/download?customer=6gs39011kick8xmqutpkrvi92xx5kwev4ykanlv1ls0ouuae5x&filename=examplecoin-daemon-linux.tar.gz" -O examplecoin-daemon-linux.tar.gz
wget "https://dl.walletbuilders.com/download?customer=6gs39011kick8xmqutpkrvi92xx5kwev4ykanlv1ls0ouuae5x&filename=examplecoin-qt-linux.tar.gz" -O examplecoin-qt-linux.tar.gz

Extract the tar files.

tar -xzvf examplecoin-daemon-linux.tar.gz
tar -xzvf examplecoin-qt-linux.tar.gz

Install the daemon and tools.

sudo mv examplecoind examplecoin-cli examplecoin-tx /usr/bin/

Create the config file.

mkdir $HOME/.examplecoin
nano $HOME/.examplecoin/examplecoin.conf

Paste the following lines in examplecoin.conf.

#----
rpcuser=rpc_examplecoin
rpcpassword=kuw05sqio7bcm8z96o7redv17xws1lw6xpd1qf33
rpcallowip=127.0.0.1
#----
listen=1
server=1
daemon=1
maxconnections=64
#----
#masternode=1
#masternodeprivkey=
externalip=REPLACE_WITH_EXTERNAL_IP_OF_VPS
#----

Leave the fields “masternode” and “masternodeprivkey” commented out.

Replace the text “REPLACE_WITH_EXTERNAL_IP_OF_VPS” with the external IP address of your VPS.

E.G. externalip=136.144.171.201

Start your node with the following command.

examplecoind

Wait until the daemon has finished downloading the blockchain.


Send the collateral

Open your wallet and wait until your wallet has downloaded the blockchain.

Go to “Tools”.
Click “Debug console”.
This is the console where you will execute all commands.

Create a new masternode private key.

createmasternodekey

Example output

7VatfYVk5fFMTymPDhgSURAESDACJhWpd89WHGoh35d9fbLQPj5

Show your collateral address.

getaccountaddress "MN1"

Example output

TDC99hZmSmYEcBu4WcxA2TCT6KBqHB6Hos

Transfer the required amount of coins to the “collateral address” that you created using the command “getaccountaddress "MN1"”.

Wait until the transaction has the required masternode confirmations.

Go to “Tools”.
Click “Debug console”.

Enter the following command.

getmasternodeoutputs

Example output


[
  {
    "txhash": "506a242ccbfd2555bcd9cff5f4041752c911f39cb2905acc83ccfe0cf8808df9",
    "outputidx": 1
  }
]

Go to “Tools”.
Click “Open Masternode Configuration File”.

Modify the following line and paste it into notepad.

MN1 136.144.171.201:9999 7VatfYVk5fFMTymPDhgSURAESDACJhWpd89WHGoh35d9fbLQPj5 506a242ccbfd2555bcd9cff5f4041752c911f39cb2905acc83ccfe0cf8808df9 1

MN1 - Alias for your masternode.

136.144.171.201 - External IP address of your VPS.

9999 - Replace with P2P port of your coin.

7VatfYVk5fFMTymPDhgSURAESDACJhWpd89WHGoh35d9fbLQPj5 - Masternode private key from the command “createmasternodekey”.

506a242ccbfd2555bcd9cff5f4041752c911f39cb2905acc83ccfe0cf8808df9 - Value “txhash” from the command “getmasternodeoutputs”.

1 - Value “outputidx” from the command “getmasternodeoutputs”.


Save the file and close notepad.

Close your wallet.


Register your masternode

Place the masternode private key in the config file of your masternode and uncomment the values “masternode” and “masternodeprivkey”.

Example config

#----
rpcuser=rpc_examplecoin
rpcpassword=kuw05sqio7bcm8z96o7redv17xws1lw6xpd1qf33
rpcallowip=127.0.0.1
#----
listen=1
server=1
daemon=1
maxconnections=64
#----
masternode=1
masternodeprivkey=7VatfYVk5fFMTymPDhgSURAESDACJhWpd89WHGoh35d9fbLQPj5
externalip=136.144.171.201
#----

Restart your masternode using the following commands.

examplecoin-cli stop
examplecoind

Open your wallet.

Go to “Settings”.
Click “Unlock Wallet”.

Enter your wallet passphrase and unlock your wallet.

Go to “Tools”.
Click “Debug console”.

Start your masternode using the command.

startmasternode alias false MN1

Your masternode is now registered and will appear in the masternode list.

You can check the status of your masternode using the command "getmasternodestatus".

examplecoin-cli getmasternodestatus

Example output


{
  "txhash": "506a242ccbfd2555bcd9cff5f4041752c911f39cb2905acc83ccfe0cf8808df9",
  "outputidx": 1,
  "netaddr": "136.144.171.201:9999",
  "addr": "TDC99hZmSmYEcBu4WcxA2TCT6KBqHB6Hos",
  "status": 4,
  "message": "Masternode successfully started"
}
Share