What do I need to host a Masternode?
A server or a VPS installed with Linux: For the purposes of this guide we will be used Ubuntu 16.04. You can use any of the VPS servers from OVH, Vultr and DigitalOcean though any decent provider will do. I chose OVH as it comes with DDoS Protection, which is useful in the case of someone wanting to take my server offline so that they can benefit from the Masternode payouts.
A dedicated IP address: These usually come with the VPS/server.
A little time and patience. No One had yet created such a guide, so i am putting this together to help people understand the process and decrease the input needed from the community.
Connect to your web server and download the NEOS wallet.
On at least Ubuntu 14.04+ and Debian 7+ there are generic names for the individual boost development packages, so the following can be used to only install necessary parts of boost:
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
Grab the wallet:
git clone https://github.com/neoscoin/neos-core cd neos-core/src make -f makefile.unix # Headless
if you see the below error:
makefile.unix:201: recipe for target 'obj/alert.o' failed
make: *** [obj/alert.o] Error 1
You must then get the following:
sudo apt-get install libboost-all-dev sudo apt-get install g++
if you get the following error:
In file included from chainparams.h:9:0,
bignum.h:13:24: fatal error: openssl/bn.h: No such file or directory
You must get the following:
sudo apt-get install libssl-dev
If you get the following error:
db.h:18:20: fatal error: db_cxx.h: No such file or directory
BerkeleyDB is required for the wallet. db4.8 packages are available here. You can add the repository and install using the following commands:
sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install libdb4.8-dev libdb4.8++-dev
Ubuntu and Debian have their own libdb-dev and libdb++-dev packages, but these will install BerkeleyDB 5.1 or later, which break binary wallet compatibility with the distributed executables which are based on BerkeleyDB 4.8. If you do not care about wallet compatibility, pass --with-incompatible-bdb to configure.
sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default)
(The release is built with GCC and then "strip neoscoind" to strip the debug symbols, which reduces the executable size by about 90%.)
sudo cp neoscoind /usr/local/bin (copies it to a global system path, the benefit is that you have the binary in one place, for accessibility, maintenance, etc. multi-user system everyone can run a neos wallet without having to build their own copy)
Put in the following:
masternode=1 masternodeaddr=YOURIPADDRESS:29320 (if ipv6, put  around the ip address!) masternodeprivkey=YOURPRIVKEYOFTHEADRESSWHEREYOUSENTIT
To speed up the sync process, you can download the bootstrap blockchain from:
wget http://neoscoin.com/data/neos-bootstrap.tar.gz tar -xf neos-bootstrap.tar.gz mv bootstrap.dat ~/.neoscoin/
Check to see if it is running:
Should return something like below:
"version" : "v18.104.22.168-61402",
"protocolversion" : 61403,
"walletversion" : 60000,
"balance" : 0.00000000,
"darksend_balance" : 0.00000000,
"newmint" : 0.00000000,
"stake" : 0.00000000,
"blocks" : 92488, <-- Still syncing, let it fully sync.
"timeoffset" : 0,
"moneysupply" : 2876603.00000000,
"connections" : 13,
"proxy" : "",
"ip" : "22.214.171.124",
"difficulty" : 229.15587609,
"testnet" : false,
"keypoololdest" : 1490619827,
"keypoolsize" : 1001,
"paytxfee" : 0.00010000,
"mininput" : 0.00000000,
"errors" : ""
Then go through the following process:
1. Send 5,000 NEOS exactly to an address.
2. 7 confirms minimum on that input.
3. masternode=1 in config.
4. Generate your key:
neoscoind masternode genkey
./neoscoind stop ./neoscoind masternode list (you should be able to find your address in the list) ./neoscoind masternode status
"notCapableReason" : "Could not find suitable coins!"
if thats the VPS, it thinks since its a masternode it should have the coins in its own wallet. but instead you're using a remote setup
Masternode.conf - put in the data directory of the main wallet holding the coins
alias VpsIP:PORT masternodeprivkey txid tx-output
whateveraliasyouwant serverip:29320 fromstep4 txid tx-output
Note: txid and tx-output can be obtained through the following command in the wallet console: masternode outputs
Or via the block explorer
Now on your local wallet you should be able to go to the masternode tab and “My Master Nodes” and press Start!
Then it should show up in the list of masternodes! :D
The local wallet uses the IP and port of the VPS to connect to it and start it, then sends the message that its been started to the rest of the nodes your connected to :) also on the local wallet no need for anything to do with masternodes in neoscoin.conf all you need is that masternode.conf on the local machine
Q: Does my masternode need to be open on my local machine if the masternode is running remotely?
A: No. Only to start the masternode or if you want to send / receive coins.
Issue: When pressing “start masternode” you get a message saying “could not allocate vin”
Solution: Unlock wallet to staking only. This happens when the wallet is locked.