helderjnpinto
10/1/2018 - 1:26 PM

Quorum & passwords.txt

Follow these steps to set up in IBFT Quorum network:

Install go-quorum >= 1.7.2 on all nodes.
Install istanbul-tools on at least one node.
Generate genesis.json, static-nodes.json templates (and nodekeys) using instanbul-tools on one of the nodes: istanbul setup --nodes --verbose --num --quorum --save (N = number of initial validator nodes).
Create chaindata directory on all nodes: mkdir Blockchain
Create (empty) passwords file on all nodes: touch passwords.txt
Create account(s) on all nodes: geth --datadir Blockchain --password passwords.txt account new > account1.txt
Update coinbase address in genesis.json template and allocate eth (using needed accounts in accounts.txt files on all nodes)
Copy updated genesis.json to all nodes.
Update static-nodes.json with correct IPs and ports, and copy to all nodes into chaindata directory. Cannot change enodes anymore (unless new extraData in genesis.json is generated using istanbul-tools).
Initialize chaindata directory on all nodes: geth --datadir Blockchain init genesis.json
Make sure each node has the nodekey in Blockchain/geth/nodekey corresponding to its enode in static-nodes.json & extraData.
Start geth nodes: nohup geth --datadir Blockchain --unlock 0 --password passwords.txt --mine --minerthreads 1 --syncmode full --shh --port 20000 --rpc --rpcaddr 0.0.0.0 --rpcport 20010 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum,istanbul &> gethNode.log &