- Introduction & Additional functionality
- Getting started
- Start node from config
- Running from cli prompt
- Firewall rules
- Constellation
The introduction has been moved to https://github.com/ConsenSys/QuorumNetworkManager/wiki
There are two options to getting started, option 1: running a script or option 2 manually following the below steps (starting at Requirements). In summary, both will create the following directory structure:
workspace
quorum
constellation
QuorumNetworkManager
...
The latest release can be found at: https://github.com/ConsenSys/QuorumNetworkManager/releases. Please follow its install instructions.
- go 1.7.3/4/5 (this has to do with go-ethereum 1.7.* not working with go 1.8+) - https://golang.org/dl/
- Ubuntu 16.04 (this has to do with installing Constellation)
- NodeJS v8.x.x (tested on v8.x.x) (refer to https://nodejs.org/en/download/package-manager/ for installation)
Take a look at https://raw.githubusercontent.com/ConsenSys/QuorumNetworkManager/v0.7.4-beta/setup.sh to see what is installed.
Name: raft-http
Port: TCP 40000
Name: geth-communicationNode
Port: TCP 50000
Name: geth-node
Port: TCP 20000
Name: DEVp2p
Port: TCP 30303
constellation-network
Port: TCP 9000
As ethereum networks rely on an accurate server time, please ensure outbound ports allow for the server time to stay in sync.
By setting options in the config.js
file, users can now start a node with node setupFromConfig.js
. To start a raft coordinating node, simply run node setupFromConfig.js
Install pm2: npm install pm2@latest -g
Start the script with pm2 start setupFromConfig.js
. To list all pm2: pm2 l
, to stop all: pm2 stop all
. To completely unload all pm2 processes: pm2 kill
.
There are environment variables that can also be set.
IP=<coordinating node ip address> KEEP_FILES=false NODE_NAME=node1 CONSENSUS=istanbul pm2 start setupFromConfig.js
To connect a 2nd node to the network:
IP=<ip address of 2nd node> COORDINATING_IP=<coordinating node ip address> ROLE=dynamicPeer KEEP_FILES=false NODE_NAME=node2 CONSENSUS=istanbul pm2 start setupFromConfig.js
Use killall -9 geth constellation-node
to make sure there are no other running instances of geth or constellation-node.
To ensure you are starting from a clean slate:
pm2 stop all
pm2 kill
killall -9 screen
killall -9 geth constellation-node
Start the QuorumNetworkManager by running node index.js
.
Tip: Use screen -S QNM
in ubuntu to keep the QNM running. Detach from screen with Ctrl + A + D
.
The removeConstellation.sh
script can be used to remove constellation binaries and their entry into the .bashrc
. Note that this script will leave the constellation directories intact (this is to prevent accidental deletion of directories if constellation wasn't installed using the setup.sh
script).
The QuorumNetworkManager upgrades constellation from v0.0.1
to v0.1.0
in commit 9061d3c. If you are on constellation v0.0.1
and want to upgrade to v0.1.0
please:
- use a version of the QNM after 9061d3c
- run the
upgradeConstellationTo010.sh
script - run
source ~/.bashrc