A handy bash script to setup crypto masternodes in no time. Initially developed for $PIVX. Now many more ;-)
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 3 commits ahead, 164 commits behind masternodes:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
assets
config
docker
docs
new_coin_template
scripts
.gitignore
LICENSE
README.md
Vagrantfile
_config.yml
install.sh
runme.sh

README.md

About

-Install the Cream daemon automatically will all dependencies needed to run. -Install multiple masternodes on single VPS with just few clicks. -All your collateral coins will enjoy safe security of your locked wallet on your computer, while all your masternodes attached on vps will running and earning reward.

alt tag

Install guide

###all commands as root.
apt-get update
apt-get upgrade
apt-get install zip
apt-get install unzip
git clone https://github.com/creamcoin/vps.git && cd vps && ./install.sh -p cream -c 5
cd usr/local/bin
strip creamd
cd /
###copy blockchain as zip file to all mn folders and unzip each in corresponding directory:
cd /var/lib/masternodes
###upload zip file “cream.zip” to /var/lib/masternodes directory
cp cream.zip /var/lib/masternodes/cream1
cp cream.zip /var/lib/masternodes/cream2
cp cream.zip /var/lib/masternodes/cream3
cp cream.zip /var/lib/masternodes/cream4
cp cream.zip /var/lib/masternodes/cream5
###unzip
cd cream1
unzip cream.zip
cd …
cd cream2
unzip cream.zip
cd …
cd cream3
unzip cream.zip
cd …
cd cream4
unzip cream.zip
cd …
cd cream5
unzip cream.zip
cd /
###check “vps” folder in root, if doesn’t exist run again:
git clone https://github.com/creamcoin/vps.git && cd vps && ./install.sh -p cream -c 5
###Open file on your VPS:
/tmp/cream_masternode.conf
###copy relevant content from there like IPV6 address and port in this format: [2001:19f0:5001:15a6:2033::1]:45066
###on your local controller-wallet create new masternodes with adding IPV6 address and port located in file /tmp/cream_masternode.conf
###Input masternodes private keys generated on your local wallet for each masternode in configuration files located at /etc/masternodes/.

Run all masternodes:

cd /
/usr/local/bin/activate_masternodes_cream

###check masternodes daemons:
/usr/local/bin/creamd -conf=/etc/masternodes/cream_n1.conf getinfo
/usr/local/bin/creamd -conf=/etc/masternodes/cream_n2.conf getinfo
/usr/local/bin/creamd -conf=/etc/masternodes/cream_n3.conf getinfo
/usr/local/bin/creamd -conf=/etc/masternodes/cream_n4.conf getinfo
/usr/local/bin/creamd -conf=/etc/masternodes/cream_n5.conf getinfo

###Send 100000 collateral CRM coins to each masternode CRM address (copy address from your local controller wallet)
#wait confirmations and click “Start all”


Nodemaster

The Nodemaster scripts is a collection of utilities to manage, setup and update masternode instances.

I am quite confident this is the single best and almost effortless way to setup different crypto masternodes, without bothering too much about the setup part.

If this script helped you in any way, please contribute some feedback. BTC donations also welcome and never forget:

Have fun, this is crypto after all!

BTC  33ENWZ9RCYBG7nv6ac8KxBUSuQX64Hx3x3

Feel free to use my reflink to signup and receive a bonus w/ vultr:


NOTE on the VPS choice for starters

Vultr is highly recommended for this kind of setup. I created an easy step-by-step guide for the VPS provider vultr that will guide you through the hardest parts.


About / Background

Many masternode crypto currencies only have incomplete or even non-existing instructions available how to setup a masternode from source.

This project started as handy bash script to setup my $PIVX masternodes in 2016 when there was almost zero documentation and anything that existed was either $DASH specific, sucked and in most cases both. For that reason, i started to work on a not-so-sucking way to install a lot of different masternodes with next to none manual intervention.

If you are not already aware, visit the project site and join the slack. The website at https://pivx.org/ is also well worth a visit.

Many people use binaries, end of with an insecure configuration or fail completely. This is obviously bad for the stability of the individual network.

After doing hundreds of masternode installations in the past two years, i decided to share some of my existing auto-install and management scripts with the community to work on a generalised & reliable setup for all masternode coins.

Comparing with building from source manually, you will benefit from using this script in the following way(s):

  • 100% auto-compilation and 99% of configuration on the masternode side of things. It is currently only tested on a vultr VPS but should work almost anywhere where IPv6 addresses are available
  • Developed with recent Ubuntu versions in mind, currently only 16.04 is supported
  • Installs 1-100 (or more!) masternodes in parallel on one machine, with individual config and data
  • Compilation is currently from source for the desired git repo tag (configurable via config files) Some security hardening is done, including firewalling and a separate user
  • Automatic startup for all masternode daemons
  • This script needs to run as root, the masternodes will and should not!
  • It's ipv6 enabled, tor/onion will follow

Installation

SSH to your VPS and clone the Github repository:

git clone https://github.com/masternodes/vps.git && cd vps

Install & configure your desired master node with options:

./install.sh -p pivx

Examples for typical script invocation

These are only a couple of examples for typical setups. Check my [easy step-by-step guide for vultr that will guide you through the hardest parts.

Install & configure 4 PIVX masternodes:

./install.sh -p pivx -c 4

Install 4 PIVX masternodes, update daemon:

./install.sh -p pivx -c 4 -u

Install 6 PIVX masternodes with the git release tag "tags/v3.0.5.1"

./install.sh -p pivx -c 6 -r "tags/v3.0.5.1"

Wipe all PIVX masternode data:

./install.sh -p pivx -w

Install 2 PIVX masternodes and configure sentinel monitoring:

./install.sh -p pivx -c 2 -s

Options

The install.sh script support the following parameters:

Long Option Short Option Values description
--project -p project, e.g. "pix" shortname for the project
--net -n "4" / "6" ip type for masternode. (ipv)6 is default
--release -r e.g. "tags/v3.0.4" a specific git tag/branch, defaults to latest tested
--count -c number amount of masternodes to be configured
--update -u -- update specified masternode daemon, combine with -p flag
--sentinel -s -- install and configure sentinel for node monitoring
--wipe -w -- uninstall & wipe all related master node data, combine with -p flag
--help -h -- print help info

Troubleshooting the masternode on the VPS

If you want to check the status of your masternode, the best way is currently running the cli e.g. for $MUE via

/usr/local/bin/mue-cli -conf=/etc/masternodes/mue_n1.conf getinfo

{
  "version": 1000302,
  "protocolversion": 70701,
  "walletversion": 61000,
  "balance": 0.00000000,
  "privatesend_balance": 0.00000000,
  "blocks": 209481,
  "timeoffset": 0,
  "connections": 5,
  "proxy": "",
  "difficulty": 42882.54964804553,
  "testnet": false,
  "keypoololdest": 1511380627,
  "keypoolsize": 1001,
  "paytxfee": 0.00000000,
  "relayfee": 0.00010000,
  "errors": ""
}

Help, Issues and Questions

I activated the "issues" option on github to give you a way to document defects and feature wishes. Feel free top open issues for problems / features you are missing here: https://github.com/masternodes/vps/issues.

I might not be able to reply immediately, but i do usually within a couple of days at worst. I will also happily take any pull requests that make masternode installations easier for everyone ;-)

Management script (not yet implemented)

The management script release will follow within the next couple of days.

command description
nodemaster start pivx (all|number) start all or a specific pivx masternode(s)
nodemaster restart pivx (all|number) stop all or a specific pivx masternode(s)
nodemaster stop pivx (all|number) restart all or a specific pivx masternode(s)
nodemaster cleanup pivx (all|number) delete chain data for all pivx masternodes
nodemaster status pivx (all|number) systemd process status for a pivx masternode
nodemaster tail pivx (all|number) tail debug logs for a pivx masternode