3 Masternodes 1 VPS (Absolute ABS)
Disclaimer: I assume you have basic knowledge of Linux and your own OS. I’m not responsible for any loss by using this guide. I assume you don’t have a learning disorder. Do not proceed this guide if you have any doubts in the guide or in yourself. I do not guarantee profits, neither do I trust the current developer. It’s just a lowcap coin that might play out well if the dev does not fuck up or exit scams.
The only few devs of coins I really trust and care about are: Viacoin (I’m the lead dev), Decred, Ubiq, Stratis, Zcoin, Groestlcoin, Mothership, Crown & Radium.
In this article I will show you how to setup 3 masternodes on 1 VPS. Running 3 masternodes on 1 VPS can save a lot of cost if you have to setup a lot of masternodes. Also it can be easier to manage them.
Setting up 3 masternodes on 1 VPS is discouraged by developers because it leads to less decentralization but we are trying to make some extra bitcoins :)
This tutorial will be for Absolute $ABS but with minor adjustments this can work on every coin.
Absolute: https://absolutecoin.io/
Exchange: https://stocks.exchange/trade/ABS/BTC (no verification or withdrawal limit)
At the time of writing this post, the current income is $120 per month with 1 Masternode. The cost of 1 Masternode is currently $386.02
If you can’t do this or you need someone to manage your masternodes. I recommend this website. They will setup masternodes for you
First off, make an account on vultr https://www.vultr.com/?ref=6955361
After you made an account, we can start setting up our Absolute Masternode. Choose a location and OS. As OS I would recommend Ubuntu 0.16.04 and the $5 VPS (or as I call it: : “The vultr shitty”).
If you have some Linux experience, I’d recommend to use SSH keys. Deployment will take some minutes. This is the perfect moment to grab some coffee for yourself… even better: bleach.
When your node is ready, you can make an ssh connection to it. Windows users should use Putty to make an SSH connection to their server. https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.70-installer.msi If you are a Linux user, I expect you know how to ssh into your machine.
# ssh root@ip-addr-here
Update
Fist update your Ubuntu machine with
# sudo apt-get update
Swap
The purpose of creating a swap is to provide disk storage to the kernel when RAM is under pressure. It allows for the kernel to move memory pages that are not likely to be accessed soon to disk, freeing memory. Our server has only 1GB RAM, it’s not a lot so that is why we need a swap for sure. The downside of swapping is that disks are slow. RAM is magnitudes faster. However using a swap can be the difference of your server crashing because it doesn’t have enough RAM or staying online.
Let’s create a Swap file. The fastest way is by using fallocate. We will use a 4GB swap (There’s no perfect number).
# sudo fallocate -l 4G /swapfile
We should adjust the permission on the swap file so that it is not readable by anone besides root. We can use chmod to lock down permissions.
# sudo chmod 600 /swapfile
Now the swap file is created, the system should format this file as a swap & enable it.
# sudo mkswap /swapfile# sudo swapon /swapfile
Now we have to make the swapfile permanent. So we still have it when the system reboots.
# echo “/swapfile swap swap sw 0 0” >> /etc/fstab
Swapiness
Now we can do some tweaking. Swapiness param determines how often the system swaps datta out of memory to the swap. This value is between 0 & 100% (The percentage of memory that will trigger the use of swap). Lets change this to 10.
# sudo sysctl vm.swappiness=10
and to make it pernament
# echo “vm.swappiness = 10” >> /etc/sysctl.conf
Binaries
Let’s grab the binaries. Normally the binary does not require libboost and other requirements, but this dev failed with the Gitian binarie builds (low cap coin, can’t expect much right?). So we have to install some extra deps.
# sudo apt-get install libboost-all-dev -y
# sudo apt-get install software-properties-common -y
# sudo add-apt-repository ppa:bitcoin/bitcoin -y
# sudo apt-get update -y
# sudo apt-get install libdb4.8-dev libdb4.8++-dev -y
# sudo apt-get install libevent-dev -y
Now we can download & extract the binaries. We copy them to the bin folder to make the binaries easy accessible
# wget https://github.com/absolute-community/absolute/releases/download/12.2.2/absolute_12.2.2_linux.tar.gz# tar -xvzf absolute_12.2.2_linux.tar.gz
# cd absolute_12.2.2_linux
# sudo cp -f absoluted /usr/bin/absoluted
# sudo cp -f absolute-cli /usr/bin/absolute-cli
Sentinel
Now we have to install sentinel to monitor those masternodes.
# cd $HOME
# mkdir .absolutecore
# cd $HOME/.absolutecore
# git clone https://github.com/absolute-community/sentinel.git
# cd sentinel
# sudo apt-get install virtualenv -y
# virtualenv ./venv
# ./venv/bin/pip install -r requirements.txt
# cd
Now that’s done, we can run absoluted (the wallet) and let it sync by using
# absoluted
Now we have to wait until the chain is fully synced. This can be done with
# absolute-cli getblocktemplate
3 Masternodes
after syncing, shutdown absoluted wallet by using
# absolute-cli stop
Now I mentioned we will setup 3 masternodes & we will. Let’s make 2 extra copies of the blockchain & save them in another folder.
# mkdir ~/.absolutecore2
# mkdir ~/.absolutecore3
# cp -R -a ~/.absolutecore/. ~/.absolutecore2
# cp -R -a ~/.absolutecore/. ~/.absolutecore3
Snapshot
Now let’s make a snapshot/backup. We can use that snapshot later. It’s a sort of copy of the system, we can use it to setup another VPS with 3 masternodes but with the snapshot we don’t have to redo all the work we did before. Like make a swap, install deps, get binaries, sync the entire chain & copy.
IP adresses
After that, it’s time to generate 2 extra IP addresses. Click on the button “Add another IPv4 Adress” 2 times.
click on the link text networking configuration
and it basically shows how your network configuration should look like. Use a text editor like nano or vim to change it like it shows you
# nano /etc/network/interfaces
delete everything in it and paste the network interfaces configuration vultr provided you and save it.
Now we have to restart our VPS via the console on vultr by clicking on the restart button.
and ssh back in again after a minute
$ ssh root@ip-addr-here
Now lets configure our masternodes.
Masternode Genkey
On your local pc or laptop, make a masternode key.
Now I assume you use the Gui/QT/Graphical Absolute wallet. Hit on the tab receive.
As Label: masternode1
Amount: 1000
Message: abs-cluster1 your.vps.ip.here
Hit Request payment. Write down your ABS public address. The address starts with an “A”.
Now deposit EXACTLY 1000 ABS to your ABS public address.
NOTE: If you send from exchange, it will deduct fee and might not work.
The transfer requires 15 confirmations before the masternode launch.
Open the debug console in your local wallet. (Tools>Debug Console).
Paste the command:masternode genkey
Press ENTER to generate your private key
SAVE the output. It will be needed in upcoming steps
VPS side
On the VPS it’s time to configure. Use vim or nano
# nano ~/.absolutecore/absolute.conf
And paste this in.
masternode=1
masternodeprivkey=4iQYOUR-MASTERNODE-GENKEY-OUTPUT-HERE
rpcallowip=127.0.0.1
rpcport=1337
server=1
listen=1
deamon=1
bind=YOUR.FIRST.IP.HERE (for me it is-> 45.32.xxx.xxx)
externalip=YOUR.FIRST.IP-HERE:18888 (for me-> 45.32.xxx.xxx:18888)
maxconnections=246
rpcuser=absuser
rpcpassword=abspass
BEFORE we repeat the steps again for masternode2 and masternode3, it’s important to enable “coin control features”. Instructions can be found here: https://support.node40.com/hc/en-us/articles/115000396927-Enable-Coin-Control (It’s for Dash but works the same way)
Some extra options to do in your local wallet running on your pc/laptop
In your local wallet, go to >Settings >Options > Wallet
Enable: Show Masternodes Tab & Enable coinn control features
Disable: Spend unconfirmed change
Now repeat the masternode genkey steps again. Request a new payment, label it as masternode2, Amount: 1000, Message: abs-cluster1 your.vps.ip.here
Now my second generated IP was 104.238.xxx.xxx so I would as Message: abs-cluster1 104.238.xxx.xxx
and after that use the console to: masternode genkey and save that with the generated payment request address..
Do this again for masternode3.
Back to the VPS! Time to do our second masternode
# nano ~/.absolutecore2/absolute.conf
And paste in
masternode=1
masternodeprivkey=4ifbgYOUR-SECOND-MASTERNODEKEY
rpcallowip=127.0.0.1
rpcport=1338 (NOTICE I USE A DIFFERENT PORT HERE)
server=1
listen=1
deamon=1
bind=YOUR.SECOND.IP.HERE (for me it is-> 104.238.xxx.xxx)
externalip=YOUR.SECOND.IP-HERE:18888 (for me-> 104.238.xxx.xx:18888)
maxconnections=246
rpcuser=absuser
rpcpassword=abspass
Time to do our third masternode
# .absolutecore3/absolute.conf
and paste in
masternode=1
masternodeprivkey=4ifbgYOUR-THIRD-MASTERNODEKEY
rpcallowip=127.0.0.1
rpcport=1339 (NOTICE I USE A DIFFERENT PORT HERE)
server=1
listen=1
daemon=1
bind=YOUR.THIRD.IP.HERE (for me it is-> 108.61.xxx.xxx)
externalip=YOUR.THIRD.IP-HERE:18888 (for me-> 108.61.xxx.xxx:18888)
maxconnections=246
rpcuser=absuser
rpcpassword=abspass
Now we can turn them all on
# absoluted -datadir=/root/.absolutecore --daemon
# absoluted -datadir=/root/.absolutecore2 --daemon
# absoluted -datadir=/root/.absolutecore3 --daemon
If you want to use absolute-cli, you can use it like this
absolute-cli -datadir=/root/.absolutecore getinfo
absolute-cli -datadir=/root/.absolutecore2 getinfo
absolute-cli -datadir=/root/.absolutecore3 getinfo
Now it’s time to use our dekstop/laptop (not VPS)
Open the console of our wallet and use the command
masternode outputs
It will shit out the transaction ID’s and we don’t really know which tx-id belongs to the address. But we can use the blockexplorer for it.
https://explorer.absolutecoin.net/address/YOUR_WALLET_ADDR_HERE
and you can see the hash of the transaction. Check if it matches with 1 of your masternode outputs. For mine it does.
now open absolute.conf
That file is filled with an example on your local pc or laptop.
On Windows this is located at %appdata%/absolute (type this in Windows Explorer)
. In Mac, this is in (Lol nobody cares about Mac users) and in Linux it’s typically in your $ ~/.absolute folder
.
Now save it & restart your wallet. If your wallet starts up again, it’s fine. If not, you probably fucked up some port in the absolute.conf file. Btw on the end of the line, notice the 0. If it was 1 in your case, change it to 1. (masternode outputs actually gives you the right number 1 or 0.)
Restart your wallet you have running on your own pc/laptop/locally and go to the Masternodes
tab if the wallet is done loading. your Masternode should appear.
Now there’s one thing left undone. Press on the button Start all
Important
Go to Help > debug window and use the command: dumpprivkey “Your absolute A-address”
It will shit out your private key. Print this out and store it in a safe place (not online but somewhere in a safe/locker). Anyone who has your private key can steal your funds.
After that:
Encrypt your Absolute wallet on your pc/laptop.
Go to Settings > Encrypt Wallet.
And don’t forget your password or your funds will be lost. Encrypting is important because if some gets access to your pc (with malware, RAT or just physically) he can’t steal your funds because there’s a password on it. (Use a strong password)
Another thing, on the server we worked from root. This is not the best practice but I did it for simplicity. Well the challenge for you might be to try making your own user account on your VPS & configure everything.
I hope you learning something and if you have any questions, do not DM/PM me. Ask someone else first (And don’t give them your private key).