All,
I just wanted to share a really innovative way a few of our coin holders have figured out how to have multiple masternodes on a single instance without needing another IP or using IPv6. I wrote this guide on discord, but wanted to share it with you as well. Our coin is based on PIVX, so any PIVX masternode coin will most likely be able to use the same methods.
To build multiple masternodes on the same host using the same binaries that are in your path
Assuming a 1 Processor VPS at vultr running Ubuntu 16.04
On the VPS create a directory to house the copies of the data folders (lytix.conf, wallet.dat, etc) - assuming you have rights to drop directories in / - /lytix can be whatever you want it to be
mkdir -p /lytix/mndir
Create subdirectories for each of the masternode hosts you want to run. We're going to assume 5 in addition to the one you probably already have running
mkdir mndir/mn1
mkdir mndir/mn2
mkdir mndir/mn3
mkdir mndir/mn4
mkdir mndir/mn5
Create a new lytix.conf in each directory that will have a different rpcport. For this example we will use port 28081 for mn1, 28082 for mn2, 28083 for mn3, 28084 for mn4, and 28085 for mn5
---- lytix.conf in mndir/mn1 ----
rpcallowip=127.0.0.1
listen=0
server=1
daemon=1
rpcport=28081
---- lytix.conf in mndir/mn2 ----
rpcallowip=127.0.0.1
listen=0
server=1
daemon=1
rpcport=28082
---- lytix.conf in mndir/mn3 ----
rpcallowip=127.0.0.1
listen=0
server=1
daemon=1
rpcport=28083
---- lytix.conf in mndir/mn4 ----
rpcallowip=127.0.0.1
listen=0
server=1
daemon=1
rpcport=28084
---- lytix.conf in mndir/mn5 ----
rpcallowip=127.0.0.1
listen=0
server=1
daemon=1
rpcport=28085
I don't recommend starting them all at the same time, because they are all going to jump to about 30% system utilization downloading the chain and updating.
Just give each a little time to update. As of this writing the chain was at about 45,000 and it took a few minutes to fully retrieve the chain. Once the daemon has fully synched it will drop down
to around 4-8% system utilization.
Start each masternode by doing this:
lytixd -datadir=/lytix/mndir/mn1
lytixd -datadir=/lytix/mndir/mn2
lytixd -datadir=/lytix/mndir/mn3
lytixd -datadir=/lytix/mndir/mn4
lytixd -datadir=/lytix/mndir/mn5
On the gui client that you have the masternode.conf configured you will go through the same procedure in creating a regular masternode. Change the alias to something that you can remember:
masternode genkey
getaccountaddress mn101
send the 5000 LYTX to that address
Update the masternode.conf on the client with the same IP as the masternode, but with the alias above "mn101" and the other information like the output of genkey and the tx id that you see after
running
msaternode outputs
You will see multiple after it has confirmed, so look in the transactions and find the payment to self you just created to get the txid if you need it. You will now need to update the lytix.conf on the new masternodes with the following information: masternode=1 masternodeprivkey=private_key_from_output_of_masternode_genkey_above Restart the masternode to pick up the new config:
lytix-cli -datadir=/lytix/mndir/mn1 stop
lytixd -datadir=/lytix/mndir/mn1
Restart the gui client as well to pick up the new masternode.conf config. After 15 confirmations you can start the new masternode. Special thanks to our resident royalty LordSoylent for spelling this out for us