Skip to content

Commit

Permalink
Merge pull request masternodes#72 from niklasfink/master
Browse files Browse the repository at this point in the history
Bugfix: Network config not properly written in rc.local
  • Loading branch information
marsmensch authored Apr 4, 2018
2 parents 3015a67 + 0fcc8f5 commit d9f36ce
Show file tree
Hide file tree
Showing 2 changed files with 233 additions and 203 deletions.
155 changes: 79 additions & 76 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Nodemaster

The **Nodemaster** scripts is a collection of utilities to manage, setup and update masternode instances.
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
```
Expand All @@ -15,19 +16,20 @@ Feel free to use my reflink to signup and receive a bonus w/ vultr:
<a href="https://www.vultr.com/?ref=6903922"><img src="https://www.vultr.com/media/banner_2.png" width="468" height="60"></a>

---

**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](/docs/masternode_vps.md) that will guide you through the hardest parts.
**Vultr** is highly recommended for this kind of setup. I created an [easy step-by-step guide for the VPS provider vultr](/docs/masternode_vps.md) 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.
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/](https://pivx.org/) is also well worth a visit.
If you are not already aware, visit the project site and join the slack. The website at [https://pivx.org/](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.

Expand All @@ -39,12 +41,11 @@ Comparing with building from source manually, you will benefit from using this s
* 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
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:
Expand All @@ -59,10 +60,9 @@ Install & configure your desired master node with options:
./install.sh -p pivx
```

## Examples for typical script invocation

## Examples for typical script invocation

These are only a couple of examples for typical setups. Check my [easy step-by-step guide for [vultr](/docs/masternode_vps.md) that will guide you through the hardest parts.
These are only a couple of examples for typical setups. Check my [easy step-by-step guide for [vultr](/docs/masternode_vps.md) that will guide you through the hardest parts.

**Install & configure 4 PIVX masternodes:**

Expand Down Expand Up @@ -96,18 +96,19 @@ These are only a couple of examples for typical setups. Check my [easy step-by-s

## Options

The *install.sh* script support the following parameters:
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 |
| 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 |
| --startnodes | -x | -- | starts masternode(s) after installation |

## Troubleshooting the masternode on the VPS

Expand Down Expand Up @@ -152,78 +153,80 @@ BTC 33ENWZ9RCYBG7nv6ac8KxBUSuQX64Hx3x3

## Management script (not yet implemented)

The management script release will follow within the next couple of days.
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 |
| 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 |

# Supported cryptos

| CRYPTO | Logo | Url |
|--------|--------------|-----|
| PIVX | ![PIVX](/assets/pivx.jpg) | https://pivx.org/ |
| DASH | ![DASH](/assets/dash.jpg) | https://www.dash.org/ |
| DESIRE | ![DESIRE](/assets/desire.jpg) | https://github.com/lazyboozer/Desire |
| PURE | ![PURE](/assets/pure.jpg) | https://github.com/puredev321/pure |
| ENT | ![ENT](/assets/ent.jpg) | http://ent.eternity-group.org/ |
| SYNX | ![SYNX](/assets/synx.jpg) | http://syndicatelabs.io/ |
| CHC | ![CHAIN](/assets/chain.jpg) | https://www.chaincoin.org/ |
| ZEN | ![ZEN](/assets/zen.jpg) | https://zensystem.io/ |
| DP | ![DPRICE](/assets/dprice.jpg) | http://digitalprice.org/ |
| VIVO | ![VIVO](/assets/vivo.jpg) | https://www.vivocrypto.com/ |
| ITZ | ![ITZ](/assets/itz.jpg) | https://interzone.space/ |
| MEME | ![MEME](/assets/meme.jpg) | http://www.memetic.ai/ |
| ARC | ![ARC](/assets/arc.jpg) | https://arcticcoin.org/ |
| CRAVE | ![CRAVE](/assets/crave.jpg) | https://www.craveproject.com/ |
| PIE | ![PIE](/assets/pie.jpg) | https://github.com/flintsoft/PIE |
| XCXT | ![XCXT](/assets/xcxt.jpg) | http://coinonatx.com/ |
| SCORE | ![SCORE](/assets/score.jpg) | http://scorecoin.site/ |
| BITSEND | ![BITSEND](/assets/bitsend.jpg) | https://bitsend.info/ |
| XZC | ![ZCOIN](/assets/zcoin.jpg) | https://zcoin.io/ |
| INSANE | ![INSN](/assets/insane.jpg) | https://insanecoin.com/ |
| XIOS | ![XIOS](/assets/xios.jpg) | https://bitcointalk.org/index.php?topic=2251159.0/ |
| HAV | ![HAV](/assets/have.jpg) | https://bitcointalk.org/index.php?topic=2336026.0 |
| NTRN | ![NTRN](/assets/ntrn.jpg) | https://www.neutroncoin.com/ |
| RNS | ![RNS](/assets/rns.jpg) | https://bitcointalk.org/index.php?topic=1809933.msg18029683#msg18029683/ |
| SOLARIS | ![SOLARIS](/assets/solaris.jpg) | http://www.solariscoin.com/ |
| BTDX | ![BTDX](/assets/btdx.jpg) | https://bit-cloud.info/ |
| INNOVA | ![INNOVA](/assets/innova.jpg) | http://innovacoin.info/ |
| FORCE | ![FORCE](/assets/force.jpg) | https://bitcointalk.org/index.php?topic=2359378 |
| BITRADIO | ![BITRADIO](/assets/bitradio.jpg) | https://bitrad.io/ |
| MONA | ![MONA](/assets/mona.jpg) | https://monacocoin.net/ |
| ALQO | ![ALQO](/assets/alqo.jpg) | https://alqo.org |
| YUP | ![YUP](/assets/yup.jpg) | http://yupcrypto.com/ |
| MTNC | ![MTNC](/assets/mtnc.jpg) | http://www.masternodecoin.org/ |
| CROWN | ![CROWN](/assets/crown.jpg) | https://crown.tech/ |
| BLOCKNET | ![BLOCK](/assets/block.jpg) | https://blocknet.co/ |
| DTMI | ![DTMI](/assets/dtmi.jpg) | https://bitcointalk.org/index.php?topic=2325196.0 |
| MAGNA | ![MAGNA](/assets/magna.jpg) | https://www.magnacoin.org/ |
| CROWD | ![CROWD](/assets/crowd.jpg) | http://crowdcoin.site/ |
| NUMUS | ![NUMUS](/assets/numus.jpg) | http://numus.cash/ |
| NODE | ![NODE](/assets/node.jpg) | https://bitnodes.co/ |
| SUB1X | ![SUB1X](/assets/sub1x.jpg) | https://bitcointalk.org/index.php?topic=2282282.0 |
| SEND | ![SEND](/assets/send.jpg) | https://socialsend.io/ |
| CREAM | ![CREAM](/assets/cream.jpg) | http://cream.technology/ |

| CRYPTO | Logo | Url |
| -------- | --------------------------------- | ------------------------------------------------------------------------ |
| PIVX | ![PIVX](/assets/pivx.jpg) | https://pivx.org/ |
| DASH | ![DASH](/assets/dash.jpg) | https://www.dash.org/ |
| DESIRE | ![DESIRE](/assets/desire.jpg) | https://github.com/lazyboozer/Desire |
| PURE | ![PURE](/assets/pure.jpg) | https://github.com/puredev321/pure |
| ENT | ![ENT](/assets/ent.jpg) | http://ent.eternity-group.org/ |
| SYNX | ![SYNX](/assets/synx.jpg) | http://syndicatelabs.io/ |
| CHC | ![CHAIN](/assets/chain.jpg) | https://www.chaincoin.org/ |
| ZEN | ![ZEN](/assets/zen.jpg) | https://zensystem.io/ |
| DP | ![DPRICE](/assets/dprice.jpg) | http://digitalprice.org/ |
| VIVO | ![VIVO](/assets/vivo.jpg) | https://www.vivocrypto.com/ |
| ITZ | ![ITZ](/assets/itz.jpg) | https://interzone.space/ |
| MEME | ![MEME](/assets/meme.jpg) | http://www.memetic.ai/ |
| ARC | ![ARC](/assets/arc.jpg) | https://arcticcoin.org/ |
| CRAVE | ![CRAVE](/assets/crave.jpg) | https://www.craveproject.com/ |
| PIE | ![PIE](/assets/pie.jpg) | https://github.com/flintsoft/PIE |
| XCXT | ![XCXT](/assets/xcxt.jpg) | http://coinonatx.com/ |
| SCORE | ![SCORE](/assets/score.jpg) | http://scorecoin.site/ |
| BITSEND | ![BITSEND](/assets/bitsend.jpg) | https://bitsend.info/ |
| XZC | ![ZCOIN](/assets/zcoin.jpg) | https://zcoin.io/ |
| INSANE | ![INSN](/assets/insane.jpg) | https://insanecoin.com/ |
| XIOS | ![XIOS](/assets/xios.jpg) | https://bitcointalk.org/index.php?topic=2251159.0/ |
| HAV | ![HAV](/assets/have.jpg) | https://bitcointalk.org/index.php?topic=2336026.0 |
| NTRN | ![NTRN](/assets/ntrn.jpg) | https://www.neutroncoin.com/ |
| RNS | ![RNS](/assets/rns.jpg) | https://bitcointalk.org/index.php?topic=1809933.msg18029683#msg18029683/ |
| SOLARIS | ![SOLARIS](/assets/solaris.jpg) | http://www.solariscoin.com/ |
| BTDX | ![BTDX](/assets/btdx.jpg) | https://bit-cloud.info/ |
| INNOVA | ![INNOVA](/assets/innova.jpg) | http://innovacoin.info/ |
| FORCE | ![FORCE](/assets/force.jpg) | https://bitcointalk.org/index.php?topic=2359378 |
| BITRADIO | ![BITRADIO](/assets/bitradio.jpg) | https://bitrad.io/ |
| MONA | ![MONA](/assets/mona.jpg) | https://monacocoin.net/ |
| ALQO | ![ALQO](/assets/alqo.jpg) | https://alqo.org |
| YUP | ![YUP](/assets/yup.jpg) | http://yupcrypto.com/ |
| MTNC | ![MTNC](/assets/mtnc.jpg) | http://www.masternodecoin.org/ |
| CROWN | ![CROWN](/assets/crown.jpg) | https://crown.tech/ |
| BLOCKNET | ![BLOCK](/assets/block.jpg) | https://blocknet.co/ |
| DTMI | ![DTMI](/assets/dtmi.jpg) | https://bitcointalk.org/index.php?topic=2325196.0 |
| MAGNA | ![MAGNA](/assets/magna.jpg) | https://www.magnacoin.org/ |
| CROWD | ![CROWD](/assets/crowd.jpg) | http://crowdcoin.site/ |
| NUMUS | ![NUMUS](/assets/numus.jpg) | http://numus.cash/ |
| NODE | ![NODE](/assets/node.jpg) | https://bitnodes.co/ |
| SUB1X | ![SUB1X](/assets/sub1x.jpg) | https://bitcointalk.org/index.php?topic=2282282.0 |
| SEND | ![SEND](/assets/send.jpg) | https://socialsend.io/ |
| CREAM | ![CREAM](/assets/cream.jpg) | http://cream.technology/ |

# Todo

* provide my Dockerfile & Vagrantfile
* write more test cases
* implement a binary option (?)
* implement a binary option (?)
* output all supported cryptos as list within help

# Errors

* currently not fully idempotent

Ping me at [email protected] for questions and send some crypto my way if you are happy.

**Have fun, this is crypto after all!**

```
BTC 33ENWZ9RCYBG7nv6ac8KxBUSuQX64Hx3x3
```
Loading

0 comments on commit d9f36ce

Please sign in to comment.