Feirm Masternode Setup Guide on Linux/Ubuntu VPS for Single/Multiple Masternodes || Cold wallet VPS Masternode Guide

in #feirm7 years ago (edited)

Feirm Masternode Setup Guide on Linux/Ubuntu VPS for Single/Multiple Masternodes || Cold wallet VPS Masternode Guide

Feirm Masternode Requirements:

Masternode Collateral:

2500 Feirm for each masternode plus a little extra for transaction fee. For this, you should ideally get 2501 Feirm for your first masternode.

A text editor such as Notepad(Windows), TextEdit(Mac) or nano (Linux/Mac)

Getting a VPS service from a provider

Linux/Ubuntu VPS with 1G of ram or more is required.
DigitalOcean provides good service and their VPS can be set up within minutes. It will cost $5/month or $0.007/hour. Here is a referral that gives you $10 free credit if you use this link:
https://m.do.co/c/75eb94f51392

After opening an account with your VPS provider, you will need to create your own VPS (Droplets on DigitalOcean). Following specs will be sufficient to run a Feirm masternode:
Ubuntu 16.04.3 x64 or 17.10 x64
1 GB Memory
1vCPU
25 GB drive space
1 TB Bandwidth
Cost: $5/month or $0.007/hour

Step 1: Connecting to the Linux/Ubuntu VPS Via Putty

If your OS is 64 bit, download the putty.exe file:
https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe
If your OS is 32 bit, download the putty.exe file:
https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe

Run Putty and paste your VPS IP Address into the Hostname ​field of Putty console
Click Open​ to start Linux VPS Putty session
Click Yes ​on the Putty Security Alert to install security certificate
At the Putty terminal, type ‘root’ to log in as root user and hit enter/return. You can use right click to paste on Putty. At password​ prompt, paste in the root password and hit ENTER​. For DigitalOcean, your password for root user will be sent to you via email and when you log in as root user for the first time, you will be asked to change that password. Enter the old password again and then new password of your choice. You must remember this password to login as root user from next time on.

In this example, our IP is mn1_IP.
Over this guide, the highlighted content can be copy and pasted.

Step 2: Installing Feirm Wallet on local PC/MAC/Laptop

Download Feirm wallet from https://www.feirm.com/, unzip, install and run it and let it sync to the network and have your text editor ready. For a quick sync, add some nodes to your local feirm.conf file (see below step- ). Please do not forget to encrypt the wallet first and then to create backup of wallet file before any transactions (extremely important).

Once you are synced, in the wallet, go to >File>Receiving addresses, click on ‘new’ button and enter a name (Alias) for your masternode (DO NOT USE SPACES) into the text field under Label. This will create a receiving address for one masternode. In this example our Alias is mn1. If you are setting up multiple masternodes, create new addresses for each masternodes and name each of them them like this: mn2, mn3, mn4 and so on.
Send exactly 2500 Feirm to the new address, called Alias (mn1 in this example), that you have just created and wait for few confirmations. For multiple masternodes, send 2500 Feirm to each Alias addresses.

Now go to the menu bar and select "Tools" then "Debug Console".

Click on console and type:
masternode genkey

Now hit return/enter. Copy the genkey=masternodeprivkey and save it to a local text file. In this example our genkey/masternodeprivkey is mn1_privkey

Back in the Debug Console, type:
masternode outputs

Copy and save the output=Transaction_ID along with Index_ID which can be either 0 or 1, into the local text file for later use. In this example our Transaction_ID is mn1_outputs and Index_ID is 1.

Step 3: Setting up Linux/Ubuntu VPS

On your local machine use putty or your terminal to log into your VPS as root user.
Once logged in, upgrade your server.
Copy and paste each line one at a time:
apt-get update

apt-get upgrade

Now create an admin account with sudo access (this can be any username but we will use feirm1 here as example):

Click on console and type:
adduser feirm1

Put a new password (important: you will need to remember the username and password, keep a note/hint somewhere. I strongly suggest writing down details about VPS service, e.g. VPS name, tag, IP, settings and details of each masternode config in a separate text file which will come in handy in future for maintenance or upgrading).
Keep pressing enter, then Y and enter to confirm. You can leave user details blank.

Now type or right click on putty one line at a time:
adduser feirm1 sudo

sudo ufw allow 4918

To do the compile we should set up a swap space (Virtual Memory) to prevent compiling errors. Run the following commands (as root user).
copy and paste each line one at a time.

su root

fallocate -l 3G /swapfile

chmod 600 /swapfile

mkswap /swapfile

swapon /swapfile

echo -e "/swapfile none swap sw 0 0 \n" >> /etc/fstab

After this you should reboot your VPS. You can easily reboot by entering:
sudo shutdown -r now
Now, close the putty window, rerun it and log in as user that you have just created, feirm1 in this example.

Step 4: Installing Dependencies

Install Dependencies so Feirm daemon can run (running as user feirm1).
Copy and paste each line one at a time (enter password when asked):
su feirm1

sudo apt-get install -y pkg-config

sudo apt-get -y install build-essential autoconf automake libtool libboost-all-dev libgmp-dev libssl-dev libcurl4-openssl-dev git

sudo apt-get install -y software-properties-common python-software-properties

sudo apt-get -y update && sudo apt-get -y install build-essential libssl-dev libdb++-dev libboost-all-dev libcrypto++-dev libqrencode-dev libminiupnpc-dev libgmp-dev libgmp3-dev autoconf autogen automake libtool

sudo add-apt-repository ppa:bitcoin/bitcoin

(you need to press ENTER to confirm)

sudo apt-get update

sudo apt-get install libdb4.8-dev libdb4.8++-dev

(want to continue? Type Y and hit enter)

sudo apt-get install libboost-all-dev libevent-dev software-properties-common -y

Some commands may take a minute/two, wait patiently.

Step 5: Compiling wallet from source
Copy and paste each line one at a time (running as user feirm1):
cd

sudo git clone https://github.com/feirm/feirm.git

cd feirm

sudo chmod +x share/genbuild.sh

sudo chmod +x autogen.sh

sudo chmod 755 src/leveldb/build_detect_platform

sudo ./autogen.sh

sudo ./configure --with-gui=no

sudo make

sudo make install

Last few commands will take most of the time (around 10 to 30 minutes)

Step 5: Creating the masternode configuration file

Before the node can operate as a masternode a custom configuration file is needed to be created. Since we have not loaded the wallet yet, we will create the necessary directories and the configuration file by typing the following commands:
mkdir ~/.feirm/ && touch ~/.feirm/feirm.conf

cd ~/.feirm

This has created a blank feirm configuration file that we will enter our masternode configuration variables. To configure a masternode, carry out the following:
Load the feirm.conf file in the editor of your choice. In this example, nano is used.
Again, click on console and type:
sudo nano ~/.feirm/feirm.conf

Now copy and paste (right click on putty window) the following configuration settings into the editor:
rpcuser=any_username
rpcpassword=any_password
rpcallowip=127.0.0.1
server=1
listen=1
daemon=1
ipv6=0
port=4918
maxconnections=500
masternode=1
masternodeaddr=mn1_IP:4918
externalip=mn1_IP:4918
masternodeprivkey=mn1_privkey
addnode=51.255.48.39
addnode=54.37.18.16
addnode=18.217.22.55

You cam replace any_user and any_password with ANY USER or ANY PASSWORD you like, but if you are setting up multiple masternodes, you must use the same user and password for all of them.

Step 6: Starting the masternode on VPS

Click on console and type:
feirmd -daemon
Wait for the daemon to sync up, if you don't you may have issues starting your masternode. You can check on the status by running:
feirm-cli getblockcount

You can check the block height against your synced local machines wallet block count under tools >> Information (blockchain)
Once the Feirm daemon is synced

Step 7: Setting up local wallet for masternode control (WINDOWS/MAC)

To control our remote masternodes we need to create a link between the windows wallet and the VPS. This link is created by adding additional masternode configuration settings to a masternode.conf file for the windows wallet.
Load the feirm.conf file for editing:
Navigate to the Feirm data folder. You can quickly get to this folder by typing %appdata% in File Explorer.
Load the feirm.conf file in the editor of your choice. Paste the following configuration settings into the editor:
rpcuser=any_username
rpcpassword=any_password
addnode=51.255.48.39
addnode=54.37.18.16
addnode=18.217.22.55

any_username and any_password must be same that you have used for VPS config.
Save the file and exit.
Load the masternode.conf file for editing:
Navigate to the Feirm data folder. You can quickly get to this folder by typing %appdata% in File Explorer like before.
In this folder, load the masternode.conf in your favourite text editor.
In the masternode.conf file you need to enter a line for each masternode that you want to control:
Alias IP:port masternodeprivkey Transaction_ID Index_ID
In this example, it will be:
mn1 mn1_IP:4918 mn1_privkey mn1_outputs 1
It will look something like this:
mn1 123.76.39.14:4918 dsfdfdsdffgjk0eru0opdjfg095toj 094surljfdg09u034tdjff09ud09uo3ijdf09uij 1
Save the file and exit.
Close and Restart the Feirm windows wallet
If the wallet is already open, close and reload and allow it to sync. Once it has completed syncing, we are ready to remote start our masternode. Navigate to the Masternodes section and click the My Masternodes tab. This tab will not contain any entries yet. Click Update, select your masternode and click on Start MISSING. You will get a confirmation window that your masternode is started. The wallet will now list your masternode and update the status.
This will complete your masternode setup but you will have to wait for the masternode to be matured before you get your first reward. The more masternodes come into the system, the more prolonged this waiting time will be.
Multiple Masternodes (VPS cold wallet) Setup With Single Control Wallet (Local):
This method requires different VPS servers with dedicated IPs, which is ideal for a network.

You need to generate separate masternodeprivekey for each masternode. Transaction_ID and Index_ID will also be different for each masternodes. You can use any masternodeprivkey for any Alias, considering one masternodeprivkey is not used for more than one masternode. But, Alias must match with its corresponding Transaction_ID and Index_ID. You can check Alias addresses from their Transaction_ID on explorer, so that you do not end up using a different Transaction_ID and Index_ID for that Alias/address. Simply follow the single masternode set up above to get masternodeprivkey, Transaction_ID and Index_ID for each new masternode address or Alias.

Keep the local feirm.conf untouched. It will be as same as was used for single masternode setup.

Add a new line for each masternodes in the Local masternode.conf

mn1 mn1_IP:4918 mn1_privkey mn1_Transaction_id Index_id
mn2 mn2_IP:4918 mn2_privkey mn2_Transaction_id Index_id

Some elements (highlighted with red) of Feirm.conf will be different for each VPS nodes.

Example of feirm.conf on VPS:

For MN1: feirm.conf

rpcuser=any_username
rpcpassword=any_password
rpcallowip=127.0.0.1
server=1
listen=1
daemon=1
ipv6=0
port=4918
maxconnections=500
masternode=1
masternodeaddr=mn1_IP:4918
externalip=mn1_IP:4918
masternodeprivkey=mn1_privkey
addnode=51.255.48.39
addnode=54.37.18.16
addnode=18.217.22.55

For MN2: feirm.conf

rpcuser=any_username
rpcpassword=any_password
rpcallowip=127.0.0.1
server=1
listen=1
daemon=1
ipv6=0
port=4918
maxconnections=500
masternode=1
masternodeaddr=mn2_IP:4918
externalip=mn2_IP:4918
masternodeprivkey=mn2_privkey
addnode=51.255.48.39
addnode=54.37.18.16
addnode=18.217.22.55

You can add as many masternodes as you want, just use corresponding values and add a new line in the local masternode.conf file for each masternode. You must restart your local wallet and then start the new masternode by clicking Start MISSING after configuring a new VPS node.

Honourable mentions/references:

Ras Al Ghul, The OHM Lord. A large part of this guide was written based on his Karmanode setup guide: ohmdev.ohmcoin.org/article.php?story=ohmcoin_karmanode_set_up_guide

Artax Masternode guide: https://github.com/Artax-Project/Artax/wiki/Artax-Hot-Cold-VPS-Masternode-on-Windows

Solaris Coin masternode guide: https://docs.google.com/document/d/1Z3h_qA7N3-KMA1ECxyfDbBO-_lG7Hkrp_8Iy0s2iUMI/edit

Sort:  

Congratulations @ramer! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

The new SteemFest⁴ badge is ready
Vote for @Steemitboard as a witness to get one more award and increased upvotes!