Skip to content

Masternode Hot Wallet Setup

racecrypto edited this page Mar 2, 2018 · 3 revisions

Masternode Setup Guide

Introduction

This guide covers the setup of a single masternode on a Linux system. To compile and run RACE on linux please see the building guide.

Requirements:

  • 1.000 RACE
  • Masternode Server (VPS, online 24/7)
  • Unique IPv4 address

Configuration

1) Startup

Startup raced with default settings and wait for it to sync. To verify that it has also fully synced check the output of race-cli mnsync status:

~# race-cli mnsync status
{
  "AssetID": 999,
  "AssetName": "MASTERNODE_SYNC_FINISHED",
  "Attempt": 0,
  "IsBlockchainSynced": true,
  "IsMasternodeListSynced": true,
  "IsWinnersListSynced": true,
  "IsSynced": true,
  "IsFailed": false
}

Important part here is that "AssetName": "MASTERNODE_SYNC_FINISHED". Once the wallet is online and synced you can generate the privatekey:

2) Generate Privatekey

~# race-cli masternode genkey
7duYOUR_MASTERNODE_PRIVATE_KEY

Now we need to find out the wallet address of the node:

3) Find wallet address

~# race-cli getaccountaddress ""
RdeDRACE_WALLET_ADDRESS

4) Send exactly 1000 RACE to the wallet address above

Please check before you send that the receiving wallet will receive 1000 RACE and the sending wallet is paying the transaction fees.

5) Verify that the 1000 RACE are in your masternode wallet

On the masternode wallet you can verify that it is receiving your 1000 RACE

~# race-cli listtransactions ""
[
  {
    "account": "",
    "address": "RdeDRACE_WALLET_ADDRESS",
    "category": "receive",
    "amount": 1000.00000000,
    "label": "",
    "vout": 1,
    "confirmations": 4,
    "instantlock": false,
    "blockhash": "00000000001d9f6b5683014125d46998dxe8a1b28bd9691171468ab4b46c876f",
    "blockindex": 1,
    "blocktime": 1517177836,
    "txid": "f5d4ec12b6ab68977eed84913255ea6685110e5f781e5e525a12bc2fd1c6b9d",
    "walletconflicts": [
    ],
    "time": 1517577850,
    "timereceived": 1517577850,
    "bip125-replaceable": "no"
  }
]

6) Wait for transaction

Wait for the transaction to have at least 15 confirmations. See confirmations above ("confirmations": 4, in example).

7) Get transaction details

Interesting parts are the txid and the vout, we can get those easily by running masternode outputs. txid is the first part (f5d40c12b6ab68977eed84913255ea6685110e5f781e5e525a12bc2fd1c6b9d), and vout the second part (1) of the output.

~# race-cli masternode outputs
{
  "f5d4ec12b6ab68977eed84913255ea6685110e5f781e5e525a12bc2fd1c6b9d": "1"
}

8) Edit masternode configs

We need to edit two files for our masternode - race.conf and masternode.conf. Both are located in the .racecore folder. masternodeprivkey is the key from step 2 45.XX.XX.XX represents the external IP address of your wallet server and needs to be adopted transactionid is the transaction id from step 7 vout is the vout from step 7 alias a (for you) unique alias to identify your masternode. We use mn1 here.

Below are listed the important options for both files:

~# cat ~/.racecore/race.conf
masternode=1
masternodeprivkey=7duYOUR_MASTERNODE_PRIVATE_KEY
externalip=45.XX.XX.XX
~# cat ~/.racecore/masternode.conf
# Masternode config file
# Format: alias IP:port masternodeprivkey collateral_output_txid collateral_output_index
# Example: mn1 127.0.0.2:19701 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c 0
mn1 45.XX.XX.XX:8800 7duYOUR_MASTERNODE_PRIVATE_KEY f5d4ec12b6ab68977eed84913255ea6685110e5f781e5e525a12bc2fd1c6b9d 1

9) Restart masternode

Last thing after you have edited both files is to just restart your masternode:

~# race-cli stop
~# raced

10) 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

11) Verify masternode is running

To verify that your masternode is started issue the following command. After a fresh startup it can take ~5 minutes until masternode is sycned and started.

~# race-cli masternode status
{
  "vin": "CTxIn(COutPoint(f5d4ec12b6ab68977eed84913255ea6685110e5f781e5e525a12bc2fd1c6b9d, 1), scriptSig=)",
  "service": "45.XX.XX.XX:8800",
  "payee": "RdeDRACE_WALLET_ADDRESS",
  "status": "Masternode successfully started"
}