Masternode Setup Guide (How To Deploy A Masternode)
I’ve set up hundreds of masternodes since early 2017. I’ve deployed just about every popular masternode there is, as well as many coins that you’ve probably never heard of. One thing is for sure: They are all basically the same. Currently, most masternodes are built on the same codebase. The deployment process is very similar for most popular masternode coins. This guide will use Bitcoin Green, but these basic steps apply to all masternodes.
Before diving in, you should have a basic understanding of how masternodes work. Read my article “How To Mine Bitcoin Green”, where I discuss the basics of cryptocurrency mining with masternodes. Furthermore, if you are serious about masternodes and proof-of-stake mining, you should start by deploying a Windows Staking VPS to hold your proof-of-stake wallets. Finally, make sure to safely configure your wallet before you follow this guide to deploy masternodes from your Windows VPS.
These instructions will teach you how to do a hot/cold wallet setup, which is the most common and most secure way to run a masternode. The guide is broken into 3 parts — server deployment (hot wallet), cold wallet configuration, and start masternode. We will do the server deployment first so that you can configure the wallet while the server installs.
Part 1: Server Deployment (Hot Wallet)
Deploy a Linux Ubuntu 16.04 virtual private server (VPS) that will function as a masternode. This part is called the “hot wallet” — meaning it must stay online & process transactions 24/7. You’ll use a hosting service to run this VPS.
Step 1: Create an account with Vultr
Vultr is a global cloud server hosting platform that has many options for server hosting. They offer a variety of options for operating system, memory, storage capacity, and server location. There are other options for hosting, such as AWS, DigitalOcean or ZapHosting, but I have found Vultr to have the best user experience, it is affordable, and it’s reliable.
First, create an account on Vultr. (use my ref link: https://www.vultr.com/?ref=7409067) You’ll need to put in payment information, but you won’t actually be charged until you deploy a server. The servers have a monthly fee which is very clear, as you will see when you deploy your first server. Most masternodes require a server that costs $5/month. After finishing the registration process, click “Servers” or the Vultr logo in the top left to reach your Servers Dashboard.
Step 2: Deploy a Linux Ubuntu 16.04 VPS
To add a new server, click the blue circle with the “+” icon in the top right corner of the Servers Dashboard. This will take you to the Deploy Servers page.
You can select any Server Location you want. For Server Type select Ubuntu 16.04 x64. A Server Size of 25 GB SSD ($5/mo) can easily support 3–5 masternodes. The smallest server ($2.50/mo) will work, but Vultr limits you to 2 of these servers. Look at the graphic above for the correct settings. Leave all other settings as default. Click Deploy Now when you are ready.
You will be directed back to the Servers Dashboard. Wait a minute or two for it to boot, and then click your Server Name (currently “Cloud Instance”) to access your Server Information page. On the right side, you can click to set your Server Name (Label:). Set the Label to “BITG MN1” or similar. Keep the Server Information page open, you’ll need it to set up your server.
Step 3: Use SSH To Connect To Your Linux VPS
In this step, we’ll need to use an SSH client to connect to the Linux VPS. For Windows users, this will require an application to allow us to interact with the terminal. Mac users already have “Terminal”.
WINDOWS USERS: You will need to download PuTTY. Download and install PuTTY, and then just enter your server IP (from Vultr). Click Open to start a connection.
When the terminal window opens, login as “root” and paste your password from Vultr. NOTE: The terminal Window does not show typing input for passwords! Just paste and press enter.
MAC USERS: Mac users already have an application called Terminal that you can use as an SSH client. Simply open the “Terminal” application, and enter the following command to connect to your VPS:
Your IP_ADDRESS is found on your Vultr Server Information page. Press enter and type “yes” to connect. Here’s what my terminal Window looks like when I connect:
Next, paste your password from Vultr. NOTE: The terminal window does not show typing input for passwords! Just paste and press enter.
After entering your password, you’ll see an input line like below. You are now connected to your Linux VPS.
Step 4: Run Masternode Installer
Thanks to the help of wonderful community members like XeZZ, masternode installers are now readily available. We’ll be running the Xezz installer to configure the Bitcoin Green masternode. Copy the entire block of code below in to your VPS server. Highlight all, paste, and press enter:
chmod 755 setup.sh
The installer will start. If this is your first node, type “y” to install all needed dependencies. The masternode installation will begin.
Now, keep your SSH session open, and move on to the next part of the guide. You will need to come back to the SSH to complete the configuration.
Part 2: Cold Wallet Configuration
Configure your cold wallet which will be used to hold your coins, activate your masternode collateral, receive rewards, and serve as the “controller” to start your hot wallet. Note that this wallet does not need to stay online or connected to the internet in order to receive masternode rewards.
Step 1: Wallet Safety
Before you configure your wallet for running masternodes, you should first be sure that your wallet is properly configured, secured, and backed up. I previously wrote an article on this subject. Please follow this guide to safely configure your Bitcoin Green wallet before attempting a masternode setup.
Step 2: Masternode Collateral Transaction
The first step in configuring a masternode is to send a self-transaction of the coins that will be held as masternode collateral. In other words, you need to send yourself a transaction for exactly the number of coins required for masternode collateral. With Bitcoin Green, this means you need to make a transaction of 2500 BITG. You’ll need 2500 BITG in your wallet before starting this step.
To start, switch to the Receive tab and create a new wallet address. Enter “MN1” in the Label field to name this address. You don’t need to enter an amount.
Click “Request Payment” to generate the new wallet address. You will need to send exactly 2500 BITG to this address. Click “Copy Address”.
Now, switch to the Send tab of your wallet. Paste your address in the Pay To field and send a transaction of exactly 2500 BITG. Click “Send” in the bottom left.
Enter your wallet password and confirm the transaction. When this transaction has 20 confirmations on the BITG network, your coins will become eligible to function as masternode collateral.
Step 3: Edit Masternode Configuration File
Next, you’ll need to edit the Masternode Configuration File so that you can control your masternode. You can easily open the Masternode Configuration File by clicking “Tools” and select “Open Masternode Configuration File”. You need to set Notepad or Textedit to open the file.
Now, you’ll need to add a line of code to the Masternode Configuration File. Each masternode requires a unique line of code in a very specific format. In order to complete this line of code, we’ll need to do 3 things:
- Paste in your server IP address from Vultr
- Generate a masternode private key
- Find the collateral output transaction ID and index number from Part 1
In the Masternode Configuration File you’ll see an explanation of the format for this line of code:
alias IP:port masternodeprivkey collateral_output_txid collateral_output_index
We’re going to go item by item to fill in this line of code. Each item is separated by a space. So, press ENTER/RETURN to make a new line in the text file and fill it out as we go. See the screenshot below.
alias = your name for the masternode (use “MN1”)
IP:port = IP is copied from your server page on Vultr, default port is 9333
Now, your text file should look like this:
Next is masternodeprivkey — you will get this by using the wallet’s built in Debug Console. Click “Tools” and open the Debug console. In the Debug console, you’ll need to type the following command to generate a masternodeprivkey:
Copy your masternodeprivkey and paste it into the Masternode Configuration File. Keep the Debug console window open — you’ll need it for the next item.
Finally, you’ll need to find the collateral_output_txid and collateral_output_index from the masternode collateral transaction you created in Part 1. Go back to the wallet’s Debug console, and type the following command:
The “txhash” is your collateral_output_txid and “outputidx” is the collateral_output_index. Add these two items to your Masternode Configuration File.
Now, save the Masternode Configuration File. Close and reopen your Bitcoin Green Wallet. Switch to the Masternodes tab and you will see your node in the controller list. From here, you can control your masternodes.
Your cold wallet is now configured. It’s time to finish setting up your Linux VPS. You’ll need give it the information from your Masternode Configuration File.
Part 3: Start Masternode
By now, your Linux VPS should have finished installing needed dependencies. It will now ask you for the required information from your masternode configuration file. Your terminal window should look like this:
Note: If your server disconnected, or you closed the SSH session for any reason, follow Part 1, Step 4 to run the Xezz installer again.
All of the information required for the installer is found in your Masternode Configuration File.
Type the IP of this server, followed by [ENTER]
Your Linux VPS IP address, from MN Config/Vultr
How many nodes do you want to create on this server?
1, press enter
Enter alias for new node
MN1, press enter
Enter port for node MN1
9333 (default port, any will work), press enter
Enter masternode private key for node MN1
masternodeprivkey from your Masternode Configuration File
Enter RPC Port (Any valid free port: i.E. 17100)
17100 (default port, any will work), press enter
Rule added (v6)
Bitcoin Green server starting
Now, you have to enable the masternode commands files. Type this command in to your Linux VPS:
cd && source .bashrc
Your VPS is now fully configured. Before you can start your masternode, you’ll need to wait for the blockchain to sync. Wait until the block count on your Linux VPS is in sync with the network. You can find the current block count on the block explorer.
On your Linux VPS, use this command syntax to check the block count:
NOTE: ALIAS is in lowercase, i.e. mn1 —
Use the command masternode status to check your masternode.
bitcoingreen-cli_mn1.sh masternode status
When the blockchain is fully synced and ready to be started, your VPS will display the following message to the masternode status command:
error code: -1 error message: Masternode not found in the list of available masternodes. Current status: Not capable masternode: Hot node, waiting for remote activation.
When you see the text “Hot node” you’ll know the server is ready to be started. Go back to the Masternodes tab of your wallet, and click “Start alias”:
Now, try the masternode status command again on your server. You will see the following text if your masternode was successfully started:
“status”: 4, “message”: “Masternode successfully started”
That’s it! If you see this message on your VPS from the masternode status command, you can be sure your masternode has been activated. Now, patiently wait for your reward. The first masternode reward takes 2.5–3x the average reward frequency to occur. This means your first BITG masternode reward will take 3–5 days.