Coder Social home page Coder Social logo

quorumnetworkmanager's Introduction

Contents

  1. Introduction & Additional functionality
  2. Getting started
  3. Start node from config
  4. Running from cli prompt
  5. Firewall rules
  6. Constellation

Introduction & Additional functionality

The introduction has been moved to https://github.com/ConsenSys/QuorumNetworkManager/wiki

Getting started

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
  ...

Option 1: Running the script

The latest release can be found at: https://github.com/ConsenSys/QuorumNetworkManager/releases. Please follow its install instructions.

OR | Option 2: Installing Manually

Requirements

  1. go 1.7.3/4/5 (this has to do with go-ethereum not working with go 1.8) - https://golang.org/dl/
  2. Ubuntu 16.04 (this has to do with installing Constellation)
  3. NodeJS v8.x.x (tested on v8.x.x) (refer to https://nodejs.org/en/download/package-manager/ for installation)

Installation

Take a look at https://raw.githubusercontent.com/ConsenSys/QuorumNetworkManager/v0.7.2-alpha/setup.sh to see what is installed.

Firewall rules

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

Running from config

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

Running with pm2

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.

Start a 2 node Istanbul network

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

Troubleshooting

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:

  1. pm2 stop all
  2. pm2 kill
  3. killall -9 screen
  4. killall -9 geth constellation-node

Running from cli prompt

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.

Constellation

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).

Upgrading Constellation

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:

  1. use a version of the QNM after 9061d3c
  2. run the upgradeConstellationTo010.sh script
  3. run source ~/.bashrc

quorumnetworkmanager's People

Contributors

coeniebeyers avatar rynobey avatar petermunnings avatar andytudhope avatar aaroncolaco avatar bitcoinbrisbane avatar waffle-iron avatar marcdk avatar

Watchers

James Cloos avatar Felipe Oliveira avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.