1

Looking at the 7Node example from: https://github.com/jpmorganchase/quorum-examples/tree/master/examples/7nodes

and trying to configure my network but have ran into a lot of trouble over the days, trying to get geth to take quorum options or the --permissioned flag having errors in a geth release, trying to rebuild etc. I am frustrated and I am weak. The documentation isn't that great. And it does not tell you how the constellation node and your geth node should interact. I looked at the scripts and I tried but I am not getting anywhere. I only got this far in 3 days.

CONFIG:

Geth: 1.7.2-stable-d4a1b095

go version go1.9.4 linux/amd64

Constellation Node 0.3.2

start constellation node:

nohup constellation-node --url=https://127.0.0.1:9001/ --port=9001 --workdir=qdata/c1 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key --othernodes=https://127.0.0.1:9001/ 2> const1.log

nohup.out:

Unlocking tm.key
Unlocked tm.key

const1.log:

nohup: ignoring input and appending output to 'nohup.out'
16:47:16 [INFO] Log level is LevelWarn
16:47:16 [WARN] tls-server-cert.pem's hostname (127.0.0.) is different from the one given in the configuration (127.0.0.1). This may cause connection problems.
16:47:16 [WARN] tls-client-cert.pem's hostname (127.0.0.) is different from the one given in the configuration (127.0.0.1). This may cause connection problems.

script used to generate:

#!/bin/bash
set -u
set -e

echo "[*] Starting Ethereum nodes"
set -v
ARGS="--nodiscover --raft --rpc --rpcaddr 0.0.0.0 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum --emitcheckpoints"
PRIVATE_CONFIG=qdata/c1/tm.ipc nohup geth --datadir qdata/dd1 $ARGS --permissioned --raftport 50401 --rpcport 22000 --port 21000 2>>qdata/logs/1.log &

1.log:

nohup: appending output to 'nohup.out'
    panic: MustNew: Failed to connect to Constellation (qdata/c1/tm.ipc): Get http+unix://c/upcheck: read unix @->tm.ipc: i/o timeout

    goroutine 1 [running]:
    github.com/ethereum/go-ethereum/private/constellation.MustNew(0xc42001400f, 0xf, 0xc42001400f)
            /home/ubuntu/quorum/build/_workspace/src/github.com/ethereum/go-ethereum/private/constellation/constellation.go:75 +0x18d
    github.com/ethereum/go-ethereum/private.FromEnvironmentOrNil(0x1054ac3, 0xe, 0xc4201bd3a0, 0xc4201bd380)
            /home/ubuntu/quorum/build/_workspace/src/github.com/ethereum/go-ethereum/private/private.go:19 +0x6e
    github.com/ethereum/go-ethereum/private.init()
            /home/ubuntu/quorum/build/_workspace/src/github.com/ethereum/go-ethereum/private/private.go:22 +0x69
    github.com/ethereum/go-ethereum/core.init()
            <autogenerated>:1 +0x104
    github.com/ethereum/go-ethereum/cmd/utils.init()
            <autogenerated>:1 +0x6e
    main.init()
            <autogenerated>:1 +0x6a

Node static-node.gensis:

["enode://60b56f0bda5047ccb7cc1d18f828da62eb0d13241b213e5ee04e88d8fbfc145da98de8e019faab9a6d76124b92d07b0e92b084137a396b2cf72334024cc1c6dc@[::]:21000?raftport=50401",
"enode://2d34e98237a26e5e1f56ce8909e946df66476b57c8239f9db310de058fe08afc8ea2f40b979830ccf94207a7069175ae2ad1777a9fe2f5683fda2d04c25963d2@[::]:21001??raftport=50402",
"enode://5cda3acad3eb4be84c05d33b973886f152678386c65290281d59f19ff18ee5a7fe95626d47dc909dcb9c3ede1273aa6ff47b03a4d758ba68d02a4b4996e34fa3@[::]:21002??raftport=50403"]

gensis.json

{
  "alloc": {},
  "coinbase": "0x0000000000000000000000000000000000000000",
  "config": {
    "byzantiumBlock": 1,
    "chainId": 1,
    "eip150Block": 1,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip158Block": 1,
    "isQuorum":true
  },
  "difficulty": "0x0",
  "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "gasLimit": "0xE0000000",
  "mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578",
  "nonce": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp": "0x00"
}

1 Answer 1

0
  • First, you need to delete the certificates, know hosts and keys generated by constellation previously in this folder workdir=qdata/c1. These certificates are used for communication between constellation nodes, for this reason it is important that these certificates are well generated.

  • The option --othernodes = https://127.0.0.1:9001/ in your constellation execution command is trying to connect itself. If you want to connect to a second node of constellation, you need to place the ip of the second node with the specific port.

  • After, the GETH error you are getting is because the node Constellation is not running. Geth needs Constellation to be running in order to start up.

  • Finally execute the following command considering the option othernodes as I commented previously.

    nohup constellation-node --url=https://127.0.0.1:9001/ --port=9001 --workdir=qdata/c1 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key -- othernodes=https://127.0.0.1:9001/ 2> const1.log

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.