-
Notifications
You must be signed in to change notification settings - Fork 0
/
quorum-setup-steps.txt
93 lines (88 loc) · 5.44 KB
/
quorum-setup-steps.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Steps:
1. Install the pre-requisites
References:
https://docs.goquorum.consensys.net/tutorials/private-network/create-ibft-network#prerequisites
https://docs.goquorum.consensys.net/deploy/install/binaries
https://www.tutorialspoint.com/how-to-set-the-gopath-environment-variable-on-ubuntu
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-22-04#option-3-installing-node-using-the-node-version-manager
https://www.digitalocean.com/community/tutorials/how-to-install-go-on-ubuntu-20-04
Dependencies:
1. gcc issue: apt-get install build-essential
2. Set GOPATH & GOROOT:
export GOROOT=/usr/local/go
export GOPATH=/home/niket/blockchain/go_projects
3. Install nodejs using the digitalocean reference.
4. Install golang
5. Issue of missing requirement while running make test:
go get google.golang.org/protobuf/types/known/[email protected]
2. Command to setup a basic quorum n/w
./byfn-ibft.sh 5
3. Copy below files to the IBFT-NETWORK directory:
cp -r output/ runscript.sh start-permission.sh IBFT-Network
4. Update the guardian accounts in the start-permission.sh script:
echo -e "\t\"accounts\": [\"$guardianAccount\", \"0x999069dD75094B5C4AEE6D40E11f1D6076b4134b\", \"0x973448aa9C1bdA2F896854e273AAe01b9368332D\"]," >> ./permission-config.json
5. Command to start enhanced permissioning in our n/w: (Make sure the n/w is running)
./start-permission.sh --numNodes 5
6. Stop all the running geth instances:
sudo kill -9 $(ps aux|grep geth |awk {'print$2'})
7. Copy permissioned-nodes.json in each nodes data directory:
niket@niket-X555LAB:~/blockchain/quorum-deployer-files/IBFT-Network/Node-0/data$ cp static-nodes.json permissioned-nodes.json
niket@niket-X555LAB:~/blockchain/quorum-deployer-files/IBFT-Network/Node-0/data$ cp permissioned-nodes.json ../../Node-1/data/
niket@niket-X555LAB:~/blockchain/quorum-deployer-files/IBFT-Network/Node-0/data$ cp permissioned-nodes.json ../../Node-2/data/
niket@niket-X555LAB:~/blockchain/quorum-deployer-files/IBFT-Network/Node-0/data$ cp permissioned-nodes.json ../../Node-3/data/
niket@niket-X555LAB:~/blockchain/quorum-deployer-files/IBFT-Network/Node-0/data$ cp permissioned-nodes.json ../../Node-4/data/
8. Init & restart all the geth nodes:
Run this command from all the Node-[id] folders
geth --datadir data init data/genesis.json
export ADDRESS=$(grep -o '"address": *"[^"]*"' ./data/keystore/accountKeystore | grep -o '"[^"]*"$' | sed 's/"//g')
export PRIVATE_CONFIG=ignore
nohup geth --datadir data \
--networkid 1337 --nodiscover --verbosity 5 \
--syncmode full \
--istanbul.blockperiod 5 --mine --miner.threads 1 --miner.gasprice 0 --emitcheckpoints \
--http --http.addr 0.0.0.0 --http.port 22000 --http.corsdomain "*" --http.vhosts "*" \
--ws --ws.addr 0.0.0.0 --ws.port 32000 --ws.origins "*" \
--http.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--ws.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--unlock ${ADDRESS} --allow-insecure-unlock --password ./data/keystore/accountPassword --permissioned \
--port 30300 2>>0.log &
nohup geth --datadir data \
--networkid 1337 --nodiscover --verbosity 5 \
--syncmode full \
--istanbul.blockperiod 5 --mine --miner.threads 1 --miner.gasprice 0 --emitcheckpoints \
--http --http.addr 0.0.0.0 --http.port 22001 --http.corsdomain "*" --http.vhosts "*" \
--ws --ws.addr 0.0.0.0 --ws.port 32001 --ws.origins "*" \
--http.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--ws.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--unlock ${ADDRESS} --allow-insecure-unlock --password ./data/keystore/accountPassword --permissioned \
--port 30301 2>>1.log &
nohup geth --datadir data \
--networkid 1337 --nodiscover --verbosity 5 \
--syncmode full \
--istanbul.blockperiod 5 --mine --miner.threads 1 --miner.gasprice 0 --emitcheckpoints \
--http --http.addr 0.0.0.0 --http.port 22002 --http.corsdomain "*" --http.vhosts "*" \
--ws --ws.addr 0.0.0.0 --ws.port 32002 --ws.origins "*" \
--http.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--ws.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--unlock ${ADDRESS} --allow-insecure-unlock --password ./data/keystore/accountPassword --permissioned \
--port 30302 2>>2.log &
nohup geth --datadir data \
--networkid 1337 --nodiscover --verbosity 5 \
--syncmode full \
--istanbul.blockperiod 5 --mine --miner.threads 1 --miner.gasprice 0 --emitcheckpoints \
--http --http.addr 0.0.0.0 --http.port 22003 --http.corsdomain "*" --http.vhosts "*" \
--ws --ws.addr 0.0.0.0 --ws.port 32003 --ws.origins "*" \
--http.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--ws.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--unlock ${ADDRESS} --allow-insecure-unlock --password ./data/keystore/accountPassword --permissioned \
--port 30303 2>>3.log &
nohup geth --datadir data \
--networkid 1337 --nodiscover --verbosity 5 \
--syncmode full \
--istanbul.blockperiod 5 --mine --miner.threads 1 --miner.gasprice 0 --emitcheckpoints \
--http --http.addr 0.0.0.0 --http.port 22004 --http.corsdomain "*" --http.vhosts "*" \
--ws --ws.addr 0.0.0.0 --ws.port 32004 --ws.origins "*" \
--http.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--ws.api admin,eth,debug,miner,net,txpool,personal,web3,istanbul \
--unlock ${ADDRESS} --allow-insecure-unlock --password ./data/keystore/accountPassword --permissioned \
--port 30304 2>>4.log &