Skip to content

Masternode Cold Wallet Setup

racecrypto edited this page Feb 6, 2018 · 7 revisions

Masternode Setup Guide

Introduction

This guide covers the setup of a single masternode on a Linux system. The node will be setup as a cold node - means the coins will never leave your local wallet.

Requirements:

  • 1.000 RACE in your LOCAL WALLET (mostly a Windows/QT Wallet)
  • Masternode Server: raced on Linux VPS (Ubuntu 15.04 x64), online 24/7 - hereafter REMOTE WALLET
  • Unique IPv4 address

To compile and run RACE on linux please see the building guide.

Configuration

As written above, your local wallet with your 1000 RACE will be called LOCAL hereafter, the masternode server and it's wallet will be called REMOTE hereafter.

We need to collect some data, the best would be if you use the following skeleton, paste it into notepad and add the data once we find out so that you have it ready when we need it.

TRANSACTION_ID.........:
VOUT...................: 
MASTERNODE_KEY.........:
MASTERNODE_PUBLIC_IP...:

You can already enter your public ip address (Public IP of your VPS / REMOTE WALLET).

1) Startup

Startup both wallets and make sure both (LOCAL and REMOTE) are fully synced.

2) Send 1000 RACE in one transaction

For running a masternode you must sent exactly 1000 RACE in one transaction to a new receiving address in your LOCAL wallet. Todo this please do the following:

  • Generate a new receiving address in your LOCAL wallet and call it mn1 (File -> Receiving addresses -> New)
  • Copy the new RACE address
  • Send exactly 1000 RACE from your LOCAL wallet to your new address.
  • Wait for the transaction to have 15 confirmations, check on the Transactions tab

3) Gather masternode output data

After your transaction has 15 confirmations you can open the Debug console on your LOCAL wallet and put in masternode outputs:

~# masternode outputs
{
  "f5d4ec12b6ab68977eed84913255ea6685110e5f781e5e525a12bc2fd1c6b9d": "1"
}

The first part is your TRANSACTION ID - the second part is your VOUT. Please update your skeleton from above with the data!

4) Generate Privatekey

Now we switch to your REMOTE wallet - the one running on the Linux VPS. Make sure that the wallet daemon is up & running and fully synced. You can check by race-cli getinfo. Compare the blocks to the official explorer.

To generate a privatekey for your masternode you now need to enter the following command

~# race-cli masternode genkey
YOUR_MASTERNODE_PRIVATE_KEY

Add this generated masternode privatekey to your skeleton from above.

3) Restart REMOTE and edit configuration file

We now need to stop your REMOTE raced daemon and edit the configuration file of it.

~# race-cli stop

Open race.conf (nano ~/.racecore/race.conf) and make sure it looks like the following - the values are from your skeleton template above. Only rpcuser and rpcpassword can be selected freely.

rpcuser=racerpc
rpcpassword=rpcpassword
bind=123.123.123.123:8800 (MASTERNODE PUBLIC IP - :8800 is important)
externalip=123.123.123.123 (MASTERNODE PUBLIC IP - this time no :8800)
daemon=1
masternode=1
masternodeprivkey=MASTERNODE_KEY

Start your remote again now:

~# raced

4) Changes on your LOCAL wallet

Now we are going back to your LOCAL wallet and make the final changes there. Open your masternode configuration file by clicking Tools -> Open Masternode Configuration File Under all # put a new line which consists of the following data from your skeletion:

mn1 MASTERNODE_PUBLIC_IP:8800 MASTERNODE_KEY TRANSACTION_ID VOUT

An example is in the masternode.conf file just above which should help you.

  • Save and close the file.
  • Make sure you having the masternode tab enabled on your LOCAL wallet (Settings->Options->Wallet->Show Masternode Tab).
  • restart your LOCAL wallet (Closing and starting again)

5) Start your MN

Start your MN by clicking on the masternode tab in your LOCAL wallet and start it by right click -> Start alias.

6) Install Sentinel

Sentinel is a watchdog script based on python which is required and keeps your masternode health. Sentinel for a RACE Masternode can be found here: https://github.com/racecrypto/sentinel