A CLI (qctl) provides a set of tools for Quorum Network management (using Docker, minium 4G RAM for 7-node network):
qctl quorum -f samples/7nodes-istanbul.yml up
qctl quorum -f samples/7nodes-intanbul.yaml down
qctl quorum -f samples/7nodes-istanbul.yml up --enable-operator
<Ctrl+C> to stop and destroy the network
extraData - TODOAnd more! Just run qctl --help for help and additional information
GET /v1/nodes - retrieve nodesPUT /v1/nodes - create new nodes to existing network. This only bring up new nodes and configure permissioned/discovery. Other actions like proposing Istanbul validators or add RAFT peers must be done seperately via JSON RPCPOST /v1/nodes/{idx} - perform an action on a nodeGET /v1/nodes/{idx}/{target}/logs - Websocket endpoint to stream logs from a nodeGOPATH) and makemake, binary will be available under build/ folderSee docs/qctl.md for details of different commands
See samples
When bringing up a managed Quorum Network with --enable-operator flag, the following APIs are exposed
GET /v1/nodesResponse:
[
{
"id": "0",
"url": "http://localhost:22000",
"privacy-address": "xyz=",
"validator-address": "0xaf234abcd"
},
...
]
If request header Accept has value application/yaml, the response would be
quorum:
nodes:
Node1:
privacy-address: BULeR8JyUWhiuuCMU/HLA0Q5pzkYT+cHII3ZKBey3Bo=
url: http://localhost:22000
Node2:
privacy-address: QfeDAys9MPDs2XHExtc84jKGHxZg/aj52DTh0vtA3Xc=
url: http://localhost:22001
...
PUT /v1/nodesRequest:
[
{
"quorum": {
"image": "quorumengineering/quorum:latest",
"config": {
"verbosity" : "5"
}
},
"tx_manager": {
"image": "quorumengineering/tessera:latest",
"config": {
}
}
},
...
]
Response:
[
{
"id": "7",
"url": "http://localhost:22000",
"privacy-address": "xyz=",
"validator-address": "0xaf234abcd"
},
...
]
POST /v1/nodes/{idx}Request:
{
"target": "quorum/tx_manager",
"action": "stop/start/restart/fn_setRaftId",
"fnArgs": ["12"]
}
GET /v1/nodes/{idx}/{target}/logsLogs are streamed to response body
GOPATHContent type
Image
Digest
Size
8.7 MB
Last updated
almost 8 years ago
docker pull erolagnab/qctl