Docker cold wallet Masternode setup

Docker cold wallet Masternode setup

Docker setup guide for cold wallet MN

This guide assumes you already have a VPS running Ubuntu 16.04, have already logged in with PuTTY and have performed basic security measures. If you have not yet done this, please refer to

NOTES: You MUST have 1 static external IP address per masternode. You do not need to compile the coin for this setup.
This guide also assumes you have a fully synced local wallet.


Before we start, to make things easy, open notepad and layout the page like this:


If you are setting up multiple MN’s, repeat per MN.


Now let’s get on with it!

1. On your local machine, Open your wallet and go to:
Settings -> Configuration -> Wallet -> check: Show Masternode Tab
Also, check Activate Coincontrol Features.
Now close the wallet, wait 5 seconds and reopen it.


2. We will do the initial collateral TX and send exactly 1000 VIVO to one of our addresses. To keep things sorted in case we setup more masternodes we will label the addresses we use.

– Open your VIVO wallet and switch to the “Receive” tab.
– Click into the label field and create a label, We will use MN1 for the first address
– Now click on “Request payment”
– The generated address will now be labeled as MN1
– On your notepad add MN1 to the MNID: so it reads MNID: MN1

If you want to setup more masternodes just repeat the steps above so you end up with several addresses for the total number of nodes you wish to setup. Example: For 10 nodes you will need 10 addresses, label them all.


3. Send the collateral.
Once all addresses are created, send 1000 VIVO each to them. Ensure that you send exactly 1000 VIVO and do it in a single transaction. You can double check where the coins are coming from by checking it via coin control but usually that’s not an issue at this stage. Make sure you do NOT have the “subtract fee from amount” checkbox ticked, exactly 1000 VIVO must arrive at your new MN address.


4. As soon as all 1k transactions are done, we must wait for 15 confirmations on each transaction. You can check this in your wallet or use the explorer. It should take around 30 minutes.


5. Now all transactions have 15 confirmations, open the debug console in your wallet by clicking -> tools -> debug console and type:

masternode outputs

You should see something like:

“c89f1d48efe79df79698sdf98sdf98ds63cd6edeabcd2d5e1d7e97bbb70d”: “1”,

If you did more than one transaction it will list all eligible outputs.


6. Copy everything between {} and paste it into notepad. Get rid of ” : and , so your line/s looks like this:

c89f1d48efe79df79698sdf98sdf98ds63cd6edeabcd2d5e1d7e97bbb70d 1

Lets copy this and add it to the “Collateraloutput” line in our notepad, we’ll need this later.


7. Open PuTTY and log into your VPS


8. Ensure your VPS is up to date by running the following commands
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade


9. Now we’ll pull and install the docker container by copying and running the following command
wget -qO- | sudo bash


10. The system will now return any available IP addresses that can be used to setup your MN, type 1 then press enter


11. The system will now ask you to enter a Masternode PK (Private Key), go back to your local wallet and open the debug console again. In the debug console type:
masternode genkey
Copy this key to your notepad MN PK: and paste it into the request on your VPS, press enter.


12. You should now see on the screen something like
Generated RPC username: XXXXXXXX
Generated RPC password: XXXXXXXXXXXXXX
Used external IP:
Used bind address:
VIVO RPC port: 9999
docker container name: vivo-mn-1


12. Copy the IP address to your notepad and add :12845 on the end. You should now have a notepad that looks like:

MN name:MN1
MN IP address:
Colatteral output:c89f1d48efe79df79698sdf98sdf98ds63cd6edeabcd2d5e1d7e97bbb70d 1


13. On your local machine, press the windows key, type %appdata% and press enter, open the vivocore folder, open masternode.conf (use notepad).


14. You will see some examples preceded by #, we are going to create a new line under the examples. You will need to create 1 new line per MN you are setting up. We are going to use the data we collected on the notepad, The line must be:
MNname IP MNPK Collateraloutput
Using the example above your line would be:
MN1 THEPRIVATEKEYYOUENTEREDEARLIER c89f1d48efe79df79698sdf98sdf98ds63cd6edeabcd2d5e1d7e97bbb70d 1


15. Open your local wallet and allow it to sync.


16. Go to the masternodes tab, you will see MN1 and the status will say MISSING.


17. Right click and start alias, alternatively you can select and click the start alias button. You should now see the status has changed to PRE-ENABLED or WATCHDOG-EXPIRED.


That’s it! You’re all done! It can take anywhere from about 10 minutes to a day for the VPS to fully sync with the blockchain, once it has finished syncing it will broadcast availability to the network and the status in your local wallet will change to ENABLED.


If you are experiencing any problems or your wallet is still showing WATCHDOG-EXPIRED or NEWSTART-REQUIRED after 24 hours, drop in to the discord #masternodes channel for help.


All credit for the creation of the docker setup solution goes to Hunbalazs, this guide was written by JimmyC