getamis / istanbul-tools Goto Github PK
View Code? Open in Web Editor NEWIstanbul BFT tools
License: GNU Lesser General Public License v3.0
Istanbul BFT tools
License: GNU Lesser General Public License v3.0
see this question: openethereum/parity-ethereum#9298 - interested to help there?
Please visit https://github.com/jpmorganchase/istanbul-tools/ to issues and support. Thank you.
This is necessary for contracts using Solidity > 0.4.18.
https://github.com/jpmorganchase/quorum/blob/master/params/config.go
Consensys/quorum#371
Consensys/quorum-examples@6094f9e
istanbul setup --num 4 --docker-compose --save
docker-compose up -d
Creating network "workdir_app_net" with driver "bridge"
Creating workdir_eth-stats_1 ... done
Creating workdir_validator-2_1 ... done
Creating workdir_validator-0_1 ... done
Creating workdir_validator-1_1 ... done
Creating workdir_validator-3_1 ... done
http://localhost:3000 shows ethstats, no problems.
geth attach http://localhost:8545
Welcome to the Geth JavaScript console!
instance: Geth/validator-0/v1.8.0-unstable/linux-amd64/go1.9.2
coinbase: 0x0c9f842cb2280653b9043892e4a718d11515275b
at block: 7 (Tue, 07 Aug 2018 13:53:49 BST)
modules: eth:1.0 istanbul:1.0 net:1.0 personal:1.0 rpc:1.0 web3:1.0
it mentions istanbul
!
but then it cannot find it:
> istanbul.getValidators()
ReferenceError: 'istanbul' is not defined
at <anonymous>:1:1
got any precompile release yet?
can no download the helm charts as required
How to give node some initial balance.
There are these errors when trying to build the project with "make" command:
cmd/istanbul/main.go:37: cannot use extra.ExtraCommand (type "github.com/getamis/istanbul-tools/vendor/github.com/urfave/cli".Command) as type "github.com/urfave/cli".Command in array or slice literal
cmd/istanbul/main.go:38: cannot use setup.SetupCommand (type "github.com/getamis/istanbul-tools/vendor/github.com/urfave/cli".Command) as type "github.com/urfave/cli".Command in array or slice literal
cmd/istanbul/main.go:39: cannot use []"github.com/urfave/cli".Command literal (type []"github.com/urfave/cli".Command) as type []"github.com/getamis/istanbul-tools/vendor/github.com/urfave/cli".Command in assignment
make: *** [istanbul] Error 2
Hi, testing using istanbul-tools realized that mining (creation of blocks) in IBFT is not so easy, here I found a scenario where mining wont start after 20 minutes.
Step 1:
Create a docker network with 7 nodes using istanbul with command:
istanbul setup --num 7 --docker-compose --verbose --quorum --save
Step 2:
Now lets start only 4 validators:
docker-compose -f docker-compose.yml up -d eth-stats constellation-0 constellation-1 constellation-2 constellation-3 validator-0 validator-1 validator-2 validator-3
Check that mining is not happening with geth attach http://localhost:8545 it will show at block: 0
Step 3:
Wait 30 minutes, and bring up the 5th node:
docker-compose -f docker-compose.yml up -d constellation-4 validator-4
After waiting another 20 minutes there is not mining going on. I'm still at block 0.
Welcome to the Geth JavaScript console!
instance: Geth/validator-0/v1.7.2-stable/linux-amd64/go1.9
coinbase: 0xa81807268ae6e6f8dddaeac7a75001c764d9d81f
at block: 0 (Sun, 12 Aug 2018 22:00:22 -05)
Thanks a lot.
Regards.
For example, build/bin/istanbul decode ...
fails with "No help topic for 'decode'" (same for encoding). You now need to use the extra
command and the decode
subcommand.
> build/bin/istanbul extra decode --extradata 0x0000000000000000000000000000000000000000000000000000000000000000f89af85494475cc98b5521ab2a1335683e7567c8048bfe79ed9407d8299de61faed3686ba4c4e6c3b9083d7e2371944fe035ce99af680d89e2c4d73aca01dbfc1bd2fd94dc421209441a754f79c4a4ecd2b49c935aad0312b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0
vanity: 0x0000000000000000000000000000000000000000000000000000000000000000
validator: 0x475cc98B5521AB2A1335683e7567c8048BfE79eD
validator: 0x07D8299de61FAeD3686BA4c4e6c3B9083d7e2371
validator: 0x4fe035CE99AF680d89e2c4D73aCA01DBFc1Bd2FD
validator: 0xdC421209441A754F79C4A4eCD2b49c935AAD0312
seal: 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
I would send a PR to change the README to use the subcommands, but it's probably preferable to do a bit more work and change them back to toplevel commands?
Using the istanbul tool, I generated the following:
genesis.json
{
"config": {
"chainId": 2017,
"homesteadBlock": 1,
"eip150Block": 2,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 3,
"eip158Block": 3,
"istanbul": {
"epoch": 30000,
"policy": 0
},
"isQuorum": true
},
"nonce": "0x0",
"timestamp": "0x5b47921d",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000f89af85494403a286b2f3e897deae61774270bf932b6101f0894f6e5d9850e5bfdd9df0d971be7f8f12d7845a8db9466feeaaafc27c57b818e95c51865ca004385eebe94f5aefe121fa4f748037787cd56087b5c5c5c78ceb8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0",
"gasLimit": "0x47b760",
"difficulty": "0x1",
"mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"403a286b2f3e897deae61774270bf932b6101f08": {
"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
},
"66feeaaafc27c57b818e95c51865ca004385eebe": {
"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
},
"f5aefe121fa4f748037787cd56087b5c5c5c78ce": {
"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
},
"f6e5d9850e5bfdd9df0d971be7f8f12d7845a8db": {
"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
}
},
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
static-nodes.json:
[
"enode://3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da@0.0.0.0:30303?discport=0",
"enode://d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca@0.0.0.0:30303?discport=0",
"enode://0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440@0.0.0.0:30303?discport=0",
"enode://8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233@0.0.0.0:30303?discport=0"
]
Node keys:
0: 22e31c03cd1aff9eb1534518c13ef410e2b0992b2a4f4bf55d369b04ef09c19b
1: 55ab6d8d42616402875fab0e2e2b55fab344f4eb3ef216202ce06ee4615456b1
2: 73f9851f3f2ee28ff8d07a634c2ae9dd0e1f3baf2bfbc276b03f1f4499f4cff8
3: 26003844a57dfd0e97e08407a49a1d964c424f83b694f9aeb11766d7f0697785
I'm starting quorum-geth using:
geth --datadir /qdata/dd --port 30303 --identity tblrc --mine --minerthreads 1 --istanbul.requesttimeout 10000 --istanbul.blockperiod 1 --emitcheckpoints --rpc --rpcport 8545 --rpcaddr 0.0.0.0 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum --networkid 2017 --permissioned --nodiscover --verbosity 5 --unlock 0 --password /k8s/secrets/accountPassword
However, istanbul (in Quorum) is crashing:
TRACE[07-12|19:34:45] Started watching keystore folder path=/qdata/dd/keystore
DEBUG[07-12|19:34:45] FS scan times list=498.056µs set=6.386µs diff=6.673µs
TRACE[07-12|19:34:45] Handled keystore changes time=116.458µs
DEBUG[07-12|19:34:45] FS scan times list=55.512µs set=5.333µs diff=47.191µs
TRACE[07-12|19:34:45] Handled keystore changes time=2.695µs
INFO [07-12|19:34:45] Starting peer-to-peer node instance=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2
INFO [07-12|19:34:45] Allocated cache and file handles database=/qdata/dd/geth/chaindata cache=128 handles=1024
INFO [07-12|19:34:45] Initialised chain configuration config="{ChainID: 2017 Homestead: 1 DAO: <nil> DAOSupport: false EIP150: 2 EIP155: 3 EIP158: 3 Byzantium: <nil> IsQuorum: true Engine: istanbul}"
INFO [07-12|19:34:45] Initialising Ethereum protocol versions="[63 62]" network=2017
INFO [07-12|19:34:45] Loaded most recent local header number=0 hash=39ee97…249d9b td=1
INFO [07-12|19:34:45] Loaded most recent local full block number=0 hash=39ee97…249d9b td=1
INFO [07-12|19:34:45] Loaded most recent local fast block number=0 hash=39ee97…249d9b td=1
DEBUG[07-12|19:34:45] Reinjecting stale transactions count=0
INFO [07-12|19:34:45] Loaded local transaction journal transactions=0 dropped=0
INFO [07-12|19:34:45] Regenerated local transaction journal transactions=0 accounts=0
DEBUG[07-12|19:34:45] Recalculated downloader QoS values rtt=20s confidence=1.000 ttl=1m0s
TRACE[07-12|19:34:45] Loaded voting snapshot form disk number=0 hash=39ee97…249d9b
INFO [07-12|19:34:45] Starting P2P networking
DEBUG[07-12|19:34:45] InProc registered *node.PrivateAdminAPI under 'admin'
DEBUG[07-12|19:34:45] InProc registered *node.PublicAdminAPI under 'admin'
DEBUG[07-12|19:34:45] InProc registered *debug.HandlerT under 'debug'
DEBUG[07-12|19:34:45] InProc registered *node.PublicDebugAPI under 'debug'
DEBUG[07-12|19:34:45] InProc registered *node.PublicWeb3API under 'web3'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PublicEthereumAPI under 'eth'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PublicBlockChainAPI under 'eth'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PublicTransactionPoolAPI under 'eth'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PublicTxPoolAPI under 'txpool'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PublicDebugAPI under 'debug'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PrivateDebugAPI under 'debug'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PublicAccountAPI under 'eth'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PrivateAccountAPI under 'personal'
DEBUG[07-12|19:34:45] InProc registered *backend.API under 'istanbul'
DEBUG[07-12|19:34:45] InProc registered *eth.PublicEthereumAPI under 'eth'
DEBUG[07-12|19:34:45] InProc registered *eth.PublicMinerAPI under 'eth'
DEBUG[07-12|19:34:45] InProc registered *downloader.PublicDownloaderAPI under 'eth'
DEBUG[07-12|19:34:45] InProc registered *eth.PrivateMinerAPI under 'miner'
INFO [07-12|19:34:45] RLPx listener up self="enode://3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da@[::]:30303?discport=0"
DEBUG[07-12|19:34:45] InProc registered *filters.PublicFilterAPI under 'eth'
DEBUG[07-12|19:34:45] InProc registered *eth.PrivateAdminAPI under 'admin'
DEBUG[07-12|19:34:45] InProc registered *eth.PublicDebugAPI under 'debug'
TRACE[07-12|19:34:45] New dial task task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:34:45] New dial task task="staticdial d25bf65162bfde47 100.67.134.175:30303"
TRACE[07-12|19:34:45] New dial task task="staticdial 0ea9aeb4becdce9b 100.64.19.101:30303"
TRACE[07-12|19:34:45] New dial task task="staticdial 8dd0af45bdbe0a3f 100.65.148.159:30303"
DEBUG[07-12|19:34:45] InProc registered *eth.PrivateDebugAPI under 'debug'
DEBUG[07-12|19:34:45] InProc registered *ethapi.PublicNetAPI under 'net'
DEBUG[07-12|19:34:45] IPC registered *node.PrivateAdminAPI under 'admin'
DEBUG[07-12|19:34:45] IPC registered *node.PublicAdminAPI under 'admin'
DEBUG[07-12|19:34:45] IPC registered *debug.HandlerT under 'debug'
DEBUG[07-12|19:34:45] IPC registered *node.PublicDebugAPI under 'debug'
DEBUG[07-12|19:34:45] IPC registered *node.PublicWeb3API under 'web3'
DEBUG[07-12|19:34:45] IPC registered *ethapi.PublicEthereumAPI under 'eth'
DEBUG[07-12|19:34:45] IPC registered *ethapi.PublicBlockChainAPI under 'eth'
DEBUG[07-12|19:34:45] Executing EVM call finished runtime=423.363µs
DEBUG[07-12|19:34:45] Release oracle not found contract=0xFA7B9770Ca4cb04296Cac84F37736d4041251CDF
DEBUG[07-12|19:34:45] IPC registered *ethapi.PublicTransactionPoolAPI under 'eth'
DEBUG[07-12|19:34:45] IPC registered *ethapi.PublicTxPoolAPI under 'txpool'
DEBUG[07-12|19:34:45] IPC registered *ethapi.PublicDebugAPI under 'debug'
DEBUG[07-12|19:34:45] IPC registered *ethapi.PrivateDebugAPI under 'debug'
DEBUG[07-12|19:34:45] IPC registered *ethapi.PublicAccountAPI under 'eth'
DEBUG[07-12|19:34:45] IPC registered *ethapi.PrivateAccountAPI under 'personal'
DEBUG[07-12|19:34:45] IPC registered *backend.API under 'istanbul'
DEBUG[07-12|19:34:45] IPC registered *eth.PublicEthereumAPI under 'eth'
DEBUG[07-12|19:34:45] IPC registered *eth.PublicMinerAPI under 'eth'
DEBUG[07-12|19:34:45] IPC registered *downloader.PublicDownloaderAPI under 'eth'
DEBUG[07-12|19:34:45] IPC registered *eth.PrivateMinerAPI under 'miner'
DEBUG[07-12|19:34:45] IPC registered *filters.PublicFilterAPI under 'eth'
DEBUG[07-12|19:34:45] IPC registered *eth.PrivateAdminAPI under 'admin'
DEBUG[07-12|19:34:45] IPC registered *eth.PublicDebugAPI under 'debug'
DEBUG[07-12|19:34:45] IPC registered *eth.PrivateDebugAPI under 'debug'
DEBUG[07-12|19:34:45] IPC registered *ethapi.PublicNetAPI under 'net'
DEBUG[07-12|19:34:45] HTTP registered *node.PrivateAdminAPI under 'admin'
DEBUG[07-12|19:34:45] HTTP registered *node.PublicAdminAPI under 'admin'
DEBUG[07-12|19:34:45] HTTP registered *debug.HandlerT under 'debug'
DEBUG[07-12|19:34:45] HTTP registered *node.PublicDebugAPI under 'debug'
DEBUG[07-12|19:34:45] HTTP registered *node.PublicWeb3API under 'web3'
INFO [07-12|19:34:45] IPC endpoint opened: /qdata/dd/geth.ipc
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PublicEthereumAPI under 'eth'
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PublicBlockChainAPI under 'eth'
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PublicTransactionPoolAPI under 'eth'
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PublicTxPoolAPI under 'txpool'
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PublicDebugAPI under 'debug'
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PrivateDebugAPI under 'debug'
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PublicAccountAPI under 'eth'
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PrivateAccountAPI under 'personal'
DEBUG[07-12|19:34:45] HTTP registered *eth.PublicEthereumAPI under 'eth'
DEBUG[07-12|19:34:45] HTTP registered *eth.PublicMinerAPI under 'eth'
DEBUG[07-12|19:34:45] HTTP registered *downloader.PublicDownloaderAPI under 'eth'
DEBUG[07-12|19:34:45] HTTP registered *eth.PrivateMinerAPI under 'miner'
DEBUG[07-12|19:34:45] HTTP registered *filters.PublicFilterAPI under 'eth'
DEBUG[07-12|19:34:45] HTTP registered *eth.PrivateAdminAPI under 'admin'
DEBUG[07-12|19:34:45] HTTP registered *eth.PublicDebugAPI under 'debug'
DEBUG[07-12|19:34:45] HTTP registered *eth.PrivateDebugAPI under 'debug'
DEBUG[07-12|19:34:45] HTTP registered *ethapi.PublicNetAPI under 'net'
INFO [07-12|19:34:45] HTTP endpoint opened: http://0.0.0.0:8545
TRACE[07-12|19:34:45] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest="enode://8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233@100.65.148.159:30303?discport=0" Connection ID=8dd0af45bdbe0a3f Connection String=8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233
TRACE[07-12|19:34:45] Node Permissioning is Enabled.
TRACE[07-12|19:34:45] Node Permissioning Connection Direction=OUTGOING
DEBUG[07-12|19:34:45] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:34:45] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:34:45] isNodePermissioned connection=OUTGOING nodename=8dd0af45bdbe0a3f712a67c12cdfb18e DENIED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:45] isNodePermissioned connection=OUTGOING nodename=8dd0af45bdbe0a3f712a67c12cdfb18e DENIED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:45] isNodePermissioned connection=OUTGOING nodename=8dd0af45bdbe0a3f712a67c12cdfb18e DENIED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:45] isNodePermissioned connection=OUTGOING nodename=8dd0af45bdbe0a3f712a67c12cdfb18e ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:45] Adding p2p peer id=8dd0af45bdbe0a3f name=Geth/hloej/v1.7.2-st... addr=100.65.148.159:30303 peers=1
TRACE[07-12|19:34:45] Dial task done task="staticdial 8dd0af45bdbe0a3f 100.65.148.159:30303"
TRACE[07-12|19:34:45] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest="enode://d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca@100.67.134.175:30303?discport=0" Connection ID=d25bf65162bfde47 Connection String=d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca
TRACE[07-12|19:34:45] Node Permissioning is Enabled.
TRACE[07-12|19:34:45] Node Permissioning Connection Direction=OUTGOING
DEBUG[07-12|19:34:45] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:34:45] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:34:45] isNodePermissioned connection=OUTGOING nodename=d25bf65162bfde4753e58e82b1a20e9c DENIED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:45] isNodePermissioned connection=OUTGOING nodename=d25bf65162bfde4753e58e82b1a20e9c ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:45] Adding p2p peer id=d25bf65162bfde47 name=Geth/rtvhf/v1.7.2-st... addr=100.67.134.175:30303 peers=2
TRACE[07-12|19:34:45] Dial task done task="staticdial d25bf65162bfde47 100.67.134.175:30303"
TRACE[07-12|19:34:45] Starting protocol istanbul/64 id=8dd0af45bdbe0a3f conn=staticdial
DEBUG[07-12|19:34:45] Ethereum peer connected id=8dd0af45bdbe0a3f conn=staticdial name=Geth/hloej/v1.7.2-stable/linux-amd64/go1.9.2
TRACE[07-12|19:34:45] Starting protocol istanbul/64 id=d25bf65162bfde47 conn=staticdial
DEBUG[07-12|19:34:45] Ethereum peer connected id=d25bf65162bfde47 conn=staticdial name=Geth/rtvhf/v1.7.2-stable/linux-amd64/go1.9.2
TRACE[07-12|19:34:45] Registering sync peer peer=d25bf65162bfde47
TRACE[07-12|19:34:45] Registering sync peer peer=8dd0af45bdbe0a3f
DEBUG[07-12|19:34:45] Relaxed downloader QoS values rtt=20s confidence=0.500 ttl=1m0s
INFO [07-12|19:34:46] Unlocked account address=0x403A286b2F3E897dEAE61774270bf932B6101F08
INFO [07-12|19:34:46] Transaction pool price threshold updated price=18000000000
INFO [07-12|19:34:46] Starting mining operation
TRACE[07-12|19:34:46] Start to the initial round address=0x403A286b2F3E897dEAE61774270bf932B6101F08 old_round=-1 old_seq=0
DEBUG[07-12|19:34:46] New round address=0x403A286b2F3E897dEAE61774270bf932B6101F08 old_round=-1 old_seq=0 old_proposer=0x403A286b2F3E897dEAE61774270bf932B6101F08 new_round=0 new_seq=1 new_proposer=0x403A286b2F3E897dEAE61774270bf932B6101F08 valSet="[0x403A286b2F3E897dEAE61774270bf932B6101F08 0x66fEEaaAFc27c57B818e95c51865ca004385eEBe 0xf5aEFE121fA4F748037787cD56087b5c5c5C78Ce 0xf6e5d9850E5BfDd9df0D971BE7f8f12D7845A8db]" size=4 isProposer=true
INFO [07-12|19:34:46] Commit new mining work number=1 txs=0 uncles=0 elapsed=128.975µs
TRACE[07-12|19:34:46] handleRequest address=0x403A286b2F3E897dEAE61774270bf932B6101F08 state="Accept request" seq=1 number=1 hash=04eacd…e3dfe3
DEBUG[07-12|19:34:47] Couldn't add port mapping proto=tcp extport=30303 intport=30303 interface="UPnP or NAT-PMP" err="no UPnP or NAT-PMP router discovered"
TRACE[07-12|19:34:53] Accepted connection addr=100.96.0.77:46378
TRACE[07-12|19:34:53] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest=nil Connection ID=0ea9aeb4becdce9b Connection String=0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440
TRACE[07-12|19:34:53] Node Permissioning is Enabled.
DEBUG[07-12|19:34:53] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:34:53] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:34:53] isNodePermissioned connection=INCOMING nodename=0ea9aeb4becdce9b971996a43c871e47 DENIED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:53] isNodePermissioned connection=INCOMING nodename=0ea9aeb4becdce9b971996a43c871e47 DENIED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:53] isNodePermissioned connection=INCOMING nodename=0ea9aeb4becdce9b971996a43c871e47 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
DEBUG[07-12|19:34:53] Adding p2p peer id=0ea9aeb4becdce9b name=Geth/hoikz/v1.7.2-st... addr=100.96.0.77:46378 peers=3
TRACE[07-12|19:34:53] Starting protocol istanbul/64 id=0ea9aeb4becdce9b conn=inbound
DEBUG[07-12|19:34:53] Ethereum peer connected id=0ea9aeb4becdce9b conn=inbound name=Geth/hoikz/v1.7.2-stable/linux-amd64/go1.9.2
TRACE[07-12|19:34:53] Registering sync peer peer=0ea9aeb4becdce9b
DEBUG[07-12|19:34:53] Relaxed downloader QoS values rtt=20s confidence=0.333 ttl=1m0s
TRACE[07-12|19:34:56] Catch up round address=0x403A286b2F3E897dEAE61774270bf932B6101F08 old_round=0 old_seq=1 old_proposer=0x403A286b2F3E897dEAE61774270bf932B6101F08 new_round=1 new_seq=1 new_proposer="&{validators:[0xc4201e1ae0 0xc4201e1b00 0xc4201e1b20 0xc4201e1b40] policy:0 proposer:0xc4201e1ae0 validatorMu:{w:{state:0 sema:0} writerSem:0 readerSem:0 readerCount:0 readerWait:0} selector:0xbbf1e0}"
TRACE[07-12|19:35:00] Dial error task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303" err="dial tcp 100.68.165.149:30303: i/o timeout"
DEBUG[07-12|19:35:00] Can't resolve node id=3c1d6e1cbff5a9e5 err="discovery is disabled"
TRACE[07-12|19:35:00] Dial task done task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:35:00] Dial error task="staticdial 0ea9aeb4becdce9b 100.64.19.101:30303" err="dial tcp 100.64.19.101:30303: i/o timeout"
DEBUG[07-12|19:35:00] Can't resolve node id=0ea9aeb4becdce9b err="discovery is disabled"
TRACE[07-12|19:35:00] Dial task done task="staticdial 0ea9aeb4becdce9b 100.64.19.101:30303"
TRACE[07-12|19:35:00] New dial task task="wait for dial hist expire (15.018219124s)"
DEBUG[07-12|19:35:05] Recalculated downloader QoS values rtt=20s confidence=0.667 ttl=1m0s
TRACE[07-12|19:35:08] Catch up round address=0x403A286b2F3E897dEAE61774270bf932B6101F08 old_round=1 old_seq=1 old_proposer=0x403A286b2F3E897dEAE61774270bf932B6101F08 new_round=2 new_seq=1 new_proposer="&{validators:[0xc4201e1ae0 0xc4201e1b00 0xc4201e1b20 0xc4201e1b40] policy:0 proposer:0xc4201e1ae0 validatorMu:{w:{state:0 sema:0} writerSem:0 readerSem:0 readerCount:0 readerWait:0} selector:0xbbf1e0}"
TRACE[07-12|19:35:15] Dial task done task="wait for dial hist expire (15.018219124s)"
TRACE[07-12|19:35:15] New dial task task="wait for dial hist expire (1.263042ms)"
TRACE[07-12|19:35:15] Dial task done task="wait for dial hist expire (1.263042ms)"
TRACE[07-12|19:35:15] New dial task task="wait for dial hist expire (14.979546227s)"
TRACE[07-12|19:35:21] Catch up round address=0x403A286b2F3E897dEAE61774270bf932B6101F08 old_round=2 old_seq=1 old_proposer=0x403A286b2F3E897dEAE61774270bf932B6101F08 new_round=5 new_seq=1 new_proposer="&{validators:[0xc4201e1ae0 0xc4201e1b00 0xc4201e1b20 0xc4201e1b40] policy:0 proposer:0xc4201e1ae0 validatorMu:{w:{state:0 sema:0} writerSem:0 readerSem:0 readerCount:0 readerWait:0} selector:0xbbf1e0}"
DEBUG[07-12|19:35:21] New round address=0x403A286b2F3E897dEAE61774270bf932B6101F08 old_round=5 old_seq=1 old_proposer=0x403A286b2F3E897dEAE61774270bf932B6101F08 new_round=5 new_seq=1 new_proposer=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe valSet="[0x403A286b2F3E897dEAE61774270bf932B6101F08 0x66fEEaaAFc27c57B818e95c51865ca004385eEBe 0xf5aEFE121fA4F748037787cD56087b5c5c5C78Ce 0xf6e5d9850E5BfDd9df0D971BE7f8f12D7845A8db]" size=4 isProposer=false
INFO [07-12|19:35:21] Committed address=0x403A286b2F3E897dEAE61774270bf932B6101F08 hash=654791…55e569 number=1
DEBUG[07-12|19:35:21] Queued propagated block peer=istanbul number=1 hash=654791…55e569 queued=1
DEBUG[07-12|19:35:21] Importing propagated block peer=istanbul number=1 hash=654791…55e569
WARN [07-12|19:35:21] Discarded bad propagated block number=1 hash=654791…55e569
TRACE[07-12|19:35:21] Propagated block hash=654791…55e569 recipients=1 duration=2562047h47m16.854s
DEBUG[07-12|19:35:21] Queued propagated block peer=d25bf65162bfde47 number=1 hash=654791…55e569 queued=1
DEBUG[07-12|19:35:21] Importing propagated block peer=d25bf65162bfde47 number=1 hash=654791…55e569
WARN [07-12|19:35:21] Discarded bad propagated block number=1 hash=654791…55e569
TRACE[07-12|19:35:21] Propagated block hash=654791…55e569 recipients=0 duration=3.189ms
DEBUG[07-12|19:35:25] Recalculated downloader QoS values rtt=20s confidence=0.833 ttl=1m0s
TRACE[07-12|19:35:30] Dial task done task="wait for dial hist expire (14.979546227s)"
TRACE[07-12|19:35:30] New dial task task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:35:30] Accepted connection addr=10.250.15.37:44896
TRACE[07-12|19:35:30] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest="enode://3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da@100.68.165.149:30303?discport=0" Connection ID=3c1d6e1cbff5a9e5 Connection String=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da
TRACE[07-12|19:35:30] Node Permissioning is Enabled.
TRACE[07-12|19:35:30] Node Permissioning Connection Direction=OUTGOING
DEBUG[07-12|19:35:30] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
TRACE[07-12|19:35:30] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest=nil Connection ID=3c1d6e1cbff5a9e5 Connection String=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da
TRACE[07-12|19:35:30] Node Permissioning is Enabled.
DEBUG[07-12|19:35:30] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:35:30] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:35:30] isNodePermissioned connection=OUTGOING nodename=3c1d6e1cbff5a9e57dbc00e9f5a02354 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
TRACE[07-12|19:35:30] Rejected peer before protocol handshake id=3c1d6e1cbff5a9e5 addr=100.68.165.149:30303 conn=staticdial err="connected to self"
TRACE[07-12|19:35:30] Dial task done task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:35:30] New dial task task="wait for dial hist expire (29.999995666s)"
DEBUG[07-12|19:35:30] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:35:30] isNodePermissioned connection=INCOMING nodename=3c1d6e1cbff5a9e57dbc00e9f5a02354 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
TRACE[07-12|19:35:30] Rejected peer before protocol handshake id=3c1d6e1cbff5a9e5 addr=10.250.15.37:44896 conn=inbound err="connected to self"
TRACE[07-12|19:35:31] Store future message address=0x403A286b2F3E897dEAE61774270bf932B6101F08 from=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe state=Committed
TRACE[07-12|19:35:43] Store future message address=0x403A286b2F3E897dEAE61774270bf932B6101F08 from=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe state=Committed
DEBUG[07-12|19:35:45] Recalculated downloader QoS values rtt=20s confidence=0.917 ttl=1m0s
TRACE[07-12|19:35:57] Store future message address=0x403A286b2F3E897dEAE61774270bf932B6101F08 from=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe state=Committed
TRACE[07-12|19:36:00] Dial task done task="wait for dial hist expire (29.999995666s)"
TRACE[07-12|19:36:00] New dial task task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:36:00] Accepted connection addr=10.250.15.37:45002
TRACE[07-12|19:36:00] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest=nil Connection ID=3c1d6e1cbff5a9e5 Connection String=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da
TRACE[07-12|19:36:00] Node Permissioning is Enabled.
DEBUG[07-12|19:36:00] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:36:00] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:36:00] isNodePermissioned connection=INCOMING nodename=3c1d6e1cbff5a9e57dbc00e9f5a02354 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
TRACE[07-12|19:36:00] Rejected peer before protocol handshake id=3c1d6e1cbff5a9e5 addr=10.250.15.37:45002 conn=inbound err="connected to self"
TRACE[07-12|19:36:00] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest="enode://3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da@100.68.165.149:30303?discport=0" Connection ID=3c1d6e1cbff5a9e5 Connection String=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da
TRACE[07-12|19:36:00] Node Permissioning is Enabled.
TRACE[07-12|19:36:00] Node Permissioning Connection Direction=OUTGOING
DEBUG[07-12|19:36:00] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:36:00] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:36:00] isNodePermissioned connection=OUTGOING nodename=3c1d6e1cbff5a9e57dbc00e9f5a02354 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
TRACE[07-12|19:36:00] Rejected peer before protocol handshake id=3c1d6e1cbff5a9e5 addr=100.68.165.149:30303 conn=staticdial err="connected to self"
TRACE[07-12|19:36:00] Dial task done task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:36:00] New dial task task="wait for dial hist expire (29.999995466s)"
TRACE[07-12|19:36:03] Catch up round address=0x403A286b2F3E897dEAE61774270bf932B6101F08 old_round=5 old_seq=1 old_proposer=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe new_round=6 new_seq=1 new_proposer="&{validators:[0xc4201e1ae0 0xc4201e1b00 0xc4201e1b20 0xc4201e1b40] policy:0 proposer:0xc4201e1b00 validatorMu:{w:{state:0 sema:0} writerSem:0 readerSem:0 readerCount:0 readerWait:0} selector:0xbbf1e0}"
TRACE[07-12|19:36:03] Stop processing backlog address=0x403A286b2F3E897dEAE61774270bf932B6101F08 from=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe state="Accept request" msg="{Code: 3, Address: 0x66fEEaaAFc27c57B818e95c51865ca004385eEBe}"
DEBUG[07-12|19:36:03] New round address=0x403A286b2F3E897dEAE61774270bf932B6101F08 old_round=6 old_seq=1 old_proposer=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe new_round=6 new_seq=1 new_proposer=0xf5aEFE121fA4F748037787cD56087b5c5c5C78Ce valSet="[0x403A286b2F3E897dEAE61774270bf932B6101F08 0x66fEEaaAFc27c57B818e95c51865ca004385eEBe 0xf5aEFE121fA4F748037787cD56087b5c5c5C78Ce 0xf6e5d9850E5BfDd9df0D971BE7f8f12D7845A8db]" size=4 isProposer=false
TRACE[07-12|19:36:03] Stop processing backlog address=0x403A286b2F3E897dEAE61774270bf932B6101F08 from=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe state=Prepared msg="{Code: 3, Address: 0x66fEEaaAFc27c57B818e95c51865ca004385eEBe}"
TRACE[07-12|19:36:03] Stop processing backlog address=0x403A286b2F3E897dEAE61774270bf932B6101F08 from=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe state=Committed msg="{Code: 3, Address: 0x66fEEaaAFc27c57B818e95c51865ca004385eEBe}"
INFO [07-12|19:36:03] Committed address=0x403A286b2F3E897dEAE61774270bf932B6101F08 hash=654791…55e569 number=1
DEBUG[07-12|19:36:03] Queued propagated block peer=istanbul number=1 hash=654791…55e569 queued=1
DEBUG[07-12|19:36:03] Importing propagated block peer=istanbul number=1 hash=654791…55e569
ERROR[07-12|19:36:03] not a valid address err="recovery failed"
DEBUG[07-12|19:36:03] Propagated block verification failed peer=istanbul number=1 hash=654791…55e569 err="invalid signature"
DEBUG[07-12|19:36:05] Recalculated downloader QoS values rtt=20s confidence=0.958 ttl=1m0s
TRACE[07-12|19:36:15] Store future message address=0x403A286b2F3E897dEAE61774270bf932B6101F08 from=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe state=Committed
DEBUG[07-12|19:36:25] Recalculated downloader QoS values rtt=20s confidence=0.979 ttl=1m0s
TRACE[07-12|19:36:30] Dial task done task="wait for dial hist expire (29.999995466s)"
TRACE[07-12|19:36:30] New dial task task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:36:30] Accepted connection addr=10.250.15.37:45102
TRACE[07-12|19:36:30] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest=nil Connection ID=3c1d6e1cbff5a9e5 Connection String=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da
TRACE[07-12|19:36:30] Node Permissioning is Enabled.
DEBUG[07-12|19:36:30] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:36:30] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:36:30] isNodePermissioned connection=INCOMING nodename=3c1d6e1cbff5a9e57dbc00e9f5a02354 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
TRACE[07-12|19:36:30] Rejected peer before protocol handshake id=3c1d6e1cbff5a9e5 addr=10.250.15.37:45102 conn=inbound err="connected to self"
TRACE[07-12|19:36:30] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest="enode://3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da@100.68.165.149:30303?discport=0" Connection ID=3c1d6e1cbff5a9e5 Connection String=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da
TRACE[07-12|19:36:30] Node Permissioning is Enabled.
TRACE[07-12|19:36:30] Node Permissioning Connection Direction=OUTGOING
DEBUG[07-12|19:36:30] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:36:30] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:36:30] isNodePermissioned connection=OUTGOING nodename=3c1d6e1cbff5a9e57dbc00e9f5a02354 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
TRACE[07-12|19:36:30] Rejected peer before protocol handshake id=3c1d6e1cbff5a9e5 addr=100.68.165.149:30303 conn=staticdial err="connected to self"
TRACE[07-12|19:36:30] Dial task done task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:36:30] New dial task task="wait for dial hist expire (29.999995451s)"
TRACE[07-12|19:36:41] Store future message address=0x403A286b2F3E897dEAE61774270bf932B6101F08 from=0x66fEEaaAFc27c57B818e95c51865ca004385eEBe state=Committed
DEBUG[07-12|19:36:45] Recalculated downloader QoS values rtt=20s confidence=0.990 ttl=1m0s
TRACE[07-12|19:37:00] Dial task done task="wait for dial hist expire (29.999995451s)"
TRACE[07-12|19:37:00] New dial task task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:37:00] Accepted connection addr=10.250.15.37:45204
TRACE[07-12|19:37:00] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest=nil Connection ID=3c1d6e1cbff5a9e5 Connection String=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da
TRACE[07-12|19:37:00] Node Permissioning is Enabled.
DEBUG[07-12|19:37:00] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:37:00] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:37:00] isNodePermissioned connection=INCOMING nodename=3c1d6e1cbff5a9e57dbc00e9f5a02354 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
TRACE[07-12|19:37:00] Rejected peer before protocol handshake id=3c1d6e1cbff5a9e5 addr=10.250.15.37:45204 conn=inbound err="connected to self"
TRACE[07-12|19:37:00] Quorum permissioning EnableNodePermission=true DataDir=/qdata/dd Current Node ID=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da Node Name=Geth/tblrc/v1.7.2-stable/linux-amd64/go1.9.2 Dialed Dest="enode://3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da@100.68.165.149:30303?discport=0" Connection ID=3c1d6e1cbff5a9e5 Connection String=3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da
TRACE[07-12|19:37:00] Node Permissioning is Enabled.
TRACE[07-12|19:37:00] Node Permissioning Connection Direction=OUTGOING
DEBUG[07-12|19:37:00] parsePermissionedNodes DataDir=/qdata/dd file=permissioned-nodes.json
DEBUG[07-12|19:37:00] isNodePermissioned permissionedList="[3c1d6e1cbff5a9e57dbc00e9f5a0235454643f7641b52d59014edeea3d25153b818523b7786fad58116bb1d1bbd8e1281fb71c81b1165964821497328302a8da d25bf65162bfde4753e58e82b1a20e9c50c66713f796a0169119649b7ab9c29a888a611e729cb58710e845d8569c66a44e627bff40f1f0ff90407fbee85b81ca 0ea9aeb4becdce9b971996a43c871e47df079f03dbbad8757302f2dd4ae96ed6059ebc5835d878aa7f805a201ac2ce1ffde42d39de5375f23aaa7b010491a440 8dd0af45bdbe0a3f712a67c12cdfb18ee4c2888619896eb1835d93f4f87a703c4bf173e27bfdd3c69cb5057b58eee992e317813215e80fef77b8906c57885233]"
DEBUG[07-12|19:37:00] isNodePermissioned connection=OUTGOING nodename=3c1d6e1cbff5a9e57dbc00e9f5a02354 ALLOWED-BY=3c1d6e1cbff5a9e57dbc00e9f5a02354
TRACE[07-12|19:37:00] Rejected peer before protocol handshake id=3c1d6e1cbff5a9e5 addr=100.68.165.149:30303 conn=staticdial err="connected to self"
TRACE[07-12|19:37:00] Dial task done task="staticdial 3c1d6e1cbff5a9e5 100.68.165.149:30303"
TRACE[07-12|19:37:00] New dial task task="wait for dial hist expire (29.9999959s)"
@markya0616 @yutelin @alanchchen @bailantaotao @tailingchen
I am trying to set a private Istanbul network, however, every client I bring up has a coinbase/etherbase which I didn't create and eth.accounts[0]
is not equal to eth.coinbase
, because of which the coinbase/etherbase address is not in validator set and hence network just halts thus nothing proceeds. Even using --etherbase
flag to set the ehterbase base doesn't change it. Can you please tell me how the etherbase is set differently to the account I have in my keystore and how do I make sure that the client is started with the correct coinbase/etherbase?How do I create a network with existing accounts where Istanbul automatically recognises the account in keystore, like in other consensus algorithms?
In the backtrace, the unauthorised addresses are which is set by the client and unlocked accounts are the desired addresses which should have been set by the client and are in the validator set.
I have a bash script which takes in 2 arguments: 'location of geth binary' and 'the number of nodes to bring up the network', the following creates a network for 2 nodes which are connected using a bootnode (both files need to be in the same directory):
./istprivatenetwork.sh path/to/istanbulgeth/build/bin/geth 2
The script creates a new network everytime as well as a new tmux session, so please kill the tmux session before the script is run again.
istprivatenetwork.sh:
THIS_FILE_PARENT_DIR=`dirname \`readlink -f $0\``
ISTANBUL_DIR="`pwd`/istanbultestnet"
PASSWORD_PATH="${ISTANBUL_DIR}/passwd.txt"
NUMBER_OF_NODES=$2
GETH_BIN_PATH=`readlink -f $1`
ISTANBUL_TOOLS_PATH="${GOPATH}/src/github.com/getamis/istanbul-tools"
ISTANBUL_TOOLS_GITHUB="https://github.com/getamis/istanbul-tools.git"
TMUX_SESSION_NAME="istanbul_network"
BOOTNODE_PORT=4800
PORT=4800
RPC_PORT=9501
CHAINID=1530
# Create a common password file
createPasswd() {
echo
echo "---------Creating ${PASSWORD_PATH}---------"
touch "${PASSWORD_PATH}"
echo "istanbulnetwork" > "${PASSWORD_PATH}"
echo "---------Finished creating ${PASSWORD_PATH}---------"
echo
}
# Create a directory for the given path
createDir() {
DIR="$1"
if ! [ -d "${DIR}" ]; then
echo "---------Creating ${DIR}---------"
mkdir -p "${DIR}"
echo "---------Finished creating ${DIR}---------"
fi
}
# Bye using Geth create the account in the given dir location
createAccounts() {
echo "---------Creating Accounts---------"
for i in `seq 1 "${NUMBER_OF_NODES}"`
do
echo
if ! [ -d ""${ISTANBUL_DIR}/node${i}"" ]; then
mkdir -p ""${ISTANBUL_DIR}/node${i}""
fi
${GETH_BIN_PATH} --datadir "${ISTANBUL_DIR}/node${i}" --password ${PASSWORD_PATH} account new
echo
done
echo "---------Finished creating Accounts---------"
}
# Create toml file which has validator addresses in them
createToml() {
VANITY="0x00"
NODE_ADDRESSES=("$@")
if [ -f "${ISTANBUL_DIR}/config.toml" ]; then
rm "${ISTANBUL_DIR}/config.toml"
fi
echo "vanity = \"${VANITY}\"" >> "${ISTANBUL_DIR}/config.toml"
count=1
for i in ${NODE_ADDRESSES[@]}
do
if [ ${#NODE_ADDRESSES[@]} -eq "1" ]; then
echo "validators = [\"0x${i}\"]" >> "${ISTANBUL_DIR}/config.toml"
elif [ ${count} -eq "1" ]; then
echo "validators = [\"0x${i}\"," >> "${ISTANBUL_DIR}/config.toml"
elif [ ${count} -eq ${#NODE_ADDRESSES[@]} ]; then
echo "${string}\"0x${i}\"]" >> "${ISTANBUL_DIR}/config.toml"
else
echo "${string}\"0x${i}\"," >> "${ISTANBUL_DIR}/config.toml"
fi
count=`expr ${count} + 1`
done
}
# Create the genesis needed to initialise the nodes
createGenesis() {
echo
echo "---------Creating Genesis file---------"
# Get the address from keystore and store them in an array
ADDRESSES=()
for i in `ls ${ISTANBUL_DIR} | grep node`
do
ADDRESSES+=(`ls ${ISTANBUL_DIR}/${i}/keystore | cut -d'-' -f9`)
done
# Clone istanbul-tools
if ! [ -d "${ISTANBUL_TOOLS_PATH}" ]; then
git clone "${ISTANBUL_TOOLS_GITHUB}" "${ISTANBUL_TOOLS_PATH}"
fi
# Make istanbul-tools
if ! [ -f "${ISTANBUL_TOOLS_PATH}/build/bin/istanbul" ]; then
make -C ${ISTANBUL_TOOLS_PATH}
fi
# Create config.toml with the validators
createToml ${ADDRESSES[@]}
# Call istanbul extra encode and store in a file
${ISTANBUL_TOOLS_PATH}/build/bin/istanbul extra encode --config "${ISTANBUL_DIR}/config.toml" | cut -d':' -f2 | tr -d " \t\n\r" > "${ISTANBUL_DIR}/newextradata.txt"
# Update genesis file, the genesis.json and extra data's file location is passed in and the rest of the addresses are passed to assign some ether
node "${THIS_FILE_PARENT_DIR}/updategenesis.js" "${ISTANBUL_DIR}/genesis.json" "${ISTANBUL_DIR}/newextradata.txt" ${CHAINID} ${ADDRESSES[@]}
echo "---------Finished creating Genesis file---------"
echo
}
initialiseNodes() {
echo
echo "---------Initialising nodes with Genesis file---------"
for i in `ls ${ISTANBUL_DIR} | grep node`
do
echo
${GETH_BIN_PATH} --datadir "${ISTANBUL_DIR}/${i}" init "${ISTANBUL_DIR}/genesis.json"
echo
done
echo "---------Finished initialising nodes with Genesis file---------"
echo
}
createBootNodeKey() {
bootnode -genkey "${ISTANBUL_DIR}/boot.key"
}
launchBootNode() {
tmux new -s ${TMUX_SESSION_NAME} -n "bootnode" -d
tmux send-keys -t "${TMUX_SESSION_NAME}:bootnode" "bootnode -nodekey \"${ISTANBUL_DIR}/boot.key\" -verbosity 9 -addr :${BOOTNODE_PORT}" C-m
PORT=`expr ${PORT} + 1`
}
launchNodes() {
count=1
for i in `ls ${ISTANBUL_DIR} | grep node`
do
tmux new-window -t ${TMUX_SESSION_NAME}:${count} -n ${i}
tmux send-keys -t ${TMUX_SESSION_NAME}:${count} "${GETH_BIN_PATH} --datadir "${ISTANBUL_DIR}/${i}" --syncmode 'full' --port ${PORT} --rpcport ${RPC_PORT} --rpc --rpcaddr '0.0.0.0' --rpccorsdomain '*' --rpcapi 'personal,db,eth,net,web3,txpool,miner,istanbul' --bootnodes 'enode://`bootnode -nodekey ${ISTANBUL_DIR}/boot.key -writeaddress`@127.0.0.1:${BOOTNODE_PORT}' --networkid ${CHAINID} --gasprice '0' -unlock \"0x`ls ${ISTANBUL_DIR}/${i}/keystore | cut -d'-' -f9`\" --password ${PASSWORD_PATH} --debug --mine --minerthreads '1' --etherbase \"0x`ls ${ISTANBUL_DIR}/${i}/keystore | cut -d'-' -f9`\"" C-m
tmux split-window -h -t ${TMUX_SESSION_NAME}:${count}
tmux send-keys -t ${TMUX_SESSION_NAME}:${count} "sleep 10s" C-m
tmux send-keys -t ${TMUX_SESSION_NAME}:${count} "${GETH_BIN_PATH} attach ipc:${ISTANBUL_DIR}/${i}/geth.ipc" C-m
PORT=`expr ${PORT} + 1`
RPC_PORT=`expr ${RPC_PORT} + 1`
count=`expr ${count} + 1`
done
}
### Start of the main script
if ! [ ${NUMBER_OF_NODES} -eq ${NUMBER_OF_NODES} ] || [ -z ${NUMBER_OF_NODES} ] || [ ${NUMBER_OF_NODES} -lt "1" ]; then
echo "Please enter geth binary path as first argument and number of nodes as second"
exit 1
fi
if [ -z ${GETH_BIN_PATH} ]; then
echo "Please enter geth binary path as first argument and number of nodes as second"
exit 2
fi
if [ -d "${ISTANBUL_DIR}" ]; then
rm -rf "${ISTANBUL_DIR}"
fi
createDir "${ISTANBUL_DIR}"
cd "${ISTANBUL_DIR}"
createPasswd
createAccounts
createGenesis
initialiseNodes
createBootNodeKey
launchBootNode
launchNodes
updategenesis.js:
const fs = require('fs')
const commandLineArgs = process.argv.slice(2)
const genesisFilePath = commandLineArgs[0]
const newExtraDataFilePath = commandLineArgs[1]
const newChainId = parseInt(commandLineArgs[2])
const addresses = commandLineArgs.slice(3)
let genesis = {
"config": {
"homesteadBlock": 1,
"eip150Block": 2,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 3,
"eip158Block": 3,
"istanbul": {
"epoch": 30000,
"policy": 0
}
},
"nonce": "0x0",
"timestamp": "0x0",
"gasLimit": "0x47b760",
"difficulty": "0x1",
"mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
"coinbase": "0x0000000000000000000000000000000000000000",
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
let newExtraData = fs.readFileSync(newExtraDataFilePath, 'utf8')
let startingBalance = "0x446c3b15f9926687d2c40534fdb564000000000000"
// Update genesis.extraData
genesis.extraData = newExtraData
genesis.alloc = {}
for (var i = 0 ; i < addresses.length; i++) {
genesis.alloc[addresses[i]] = {"balance" : startingBalance}
}
genesis.config.chainId = newChainId
fs.writeFileSync(genesisFilePath, JSON.stringify(genesis, null, 4))
Node1:
[backtrace]
/home/user98/Documents/github/getamis/go-ethereum/build/bin/geth --datadir /home/user98/Documents/github/eth-private-network/istanbul/istanbultestnet/node1 --syncmode 'full' --port 4801 --rpcport 9501 --rpc --rpcaddr '0.0.0.0' --rpccorsdomain '*' --rpcapi 'personal,db,eth,net,web3,txpool,miner,istanbul' --bootnodes 'enode://297e9ce0012765db9086cf3dd3efa793879b7010e7c38464ce0a05b8bcbb4babe0b1841ec68feaa9c65bfb93bb8e360f2a8d7de35eb250efa7c1b44c483bb2ee@127.0.0.1:4800' --networkid 1530 --gasprice '0' -unlock "0x6816b996ef724a6d5002ad4b9ba9f6ad4351195e" --password /home/user98/Documents/github/eth-private-network/istanbul/istanbultestnet/passwd.txt --debug --mine --minerthreads '1' --etherbase "0x6816b996ef724a6d5002ad4b9ba9f6ad4351195e"
INFO [08-08|13:07:40|cmd/utils/flags.go:856] Maximum peer count ETH=25 LES=0 total=25
INFO [08-08|13:07:40|node/node.go:166] Starting peer-to-peer node instance=Geth/v1.8.3-unstable-c7547381/linux-amd64/go1.9.3
INFO [08-08|13:07:40|ethdb/database.go:63] Allocated cache and file handles database=/home/user98/Documents/github/eth-private-network/istanbul/istanbultestnet/node1/geth/chaindata cache=768 handles=512
WARN [08-08|13:07:40|eth/db_upgrade.go:48] Upgrading database to use lookup entries
INFO [08-08|13:07:40|eth/backend.go:123] Initialised chain configuration config="{ChainID: 1530 Homestead: 1 DAO: <nil> DAOSupport: false EIP150: 2 EIP155: 3 EIP158: 3 Byzantium: <nil> Constantinople: <nil> Engine: istanbul}"
INFO [08-08|13:07:40|eth/db_upgrade.go:118] Database deduplication successful deduped=0
INFO [08-08|13:07:40|eth/backend.go:146] Initialising Ethereum protocol versions=[64] network=1530
INFO [08-08|13:07:40|core/blockchain.go:253] Loaded most recent local header number=0 hash=fc61f9…29aaac td=1
INFO [08-08|13:07:40|core/blockchain.go:254] Loaded most recent local full block number=0 hash=fc61f9…29aaac td=1
INFO [08-08|13:07:40|core/blockchain.go:255] Loaded most recent local fast block number=0 hash=fc61f9…29aaac td=1
INFO [08-08|13:07:40|core/tx_journal.go:149] Regenerated local transaction journal transactions=0 accounts=0
INFO [08-08|13:07:40|p2p/server.go:395] Starting P2P networking
INFO [08-08|13:07:43|p2p/discover/udp.go:238] UDP listener up self=enode://0aa3fca386e81c9858f998ae7c3eba4bc48dd21f042e39ebe54f2e0f4689eca9191b4174cb29074ae90b21e8412e4d29020885bd4b17745971f3b594ef230597@146.198.136.74:4801
INFO [08-08|13:07:43|p2p/server.go:742] RLPx listener up self=enode://0aa3fca386e81c9858f998ae7c3eba4bc48dd21f042e39ebe54f2e0f4689eca9191b4174cb29074ae90b21e8412e4d29020885bd4b17745971f3b594ef230597@146.198.136.74:4801
INFO [08-08|13:07:43|node/node.go:397] HTTP endpoint opened url=http://0.0.0.0:9501 cors=* vhosts=localhost
INFO [08-08|13:07:43|node/node.go:327] IPC endpoint opened url=/home/user98/Documents/github/eth-private-network/istanbul/istanbultestnet/node1/geth.ipc
INFO [08-08|13:07:44|geth/accountcmd.go:218] Unlocked account address=0x6816b996ef724a6D5002ad4b9ba9f6AD4351195E
INFO [08-08|13:07:44|core/tx_pool.go:473] Transaction pool price threshold updated price=0
INFO [08-08|13:07:44|miner/miner.go:116] Starting mining operation
INFO [08-08|13:07:44|miner/worker.go:500] Commit new mining work number=1 txs=0 uncles=0 elapsed=62.044µs
WARN [08-08|13:07:44|miner/agent.go:108] Block sealing failed err=unauthorized
ERROR[08-08|13:07:54|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0xEF037C337667afC4f47d5b0B7FDDaD9ec6D2D2a5 err="unauthorized address"
ERROR[08-08|13:08:06|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0xEF037C337667afC4f47d5b0B7FDDaD9ec6D2D2a5 err="unauthorized address"
ERROR[08-08|13:08:20|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0xEF037C337667afC4f47d5b0B7FDDaD9ec6D2D2a5 err="unauthorized address"
ERROR[08-08|13:08:38|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0xEF037C337667afC4f47d5b0B7FDDaD9ec6D2D2a5 err="unauthorized address"
ERROR[08-08|13:09:04|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0xEF037C337667afC4f47d5b0B7FDDaD9ec6D2D2a5 err="unauthorized address"
Node2:
[backtrace]
/home/user98/Documents/github/getamis/go-ethereum/build/bin/geth --datadir /home/user98/Documents/github/eth-private-network/istanbul/istanbultestnet/node2 --syncmode 'full' --port 4802 --rpcport 9502 --rpc --rpcaddr '0.0.0.0' --rpccorsdomain '*' --rpcapi 'personal,db,eth,net,web3,txpool,miner,istanbul' --bootnodes 'enode://297e9ce0012765db9086cf3dd3efa793879b7010e7c38464ce0a05b8bcbb4babe0b1841ec68feaa9c65bfb93bb8e360f2a8d7de35eb250efa7c1b44c483bb2ee@127.0.0.1:4800' --networkid 1530 --gasprice '0' -unlock "0xaf40683bf20cc8b61e2a0d083a926fa66291de57" --password /home/user98/Documents/github/eth-private-network/istanbul/istanbultestnet/passwd.txt --debug --mine --minerthreads '1' --etherbase "0xaf40683bf20cc8b61e2a0d083a926fa66291de57"
INFO [08-08|13:07:40|cmd/utils/flags.go:856] Maximum peer count ETH=25 LES=0 total=25
INFO [08-08|13:07:40|node/node.go:166] Starting peer-to-peer node instance=Geth/v1.8.3-unstable-c7547381/linux-amd64/go1.9.3
INFO [08-08|13:07:40|ethdb/database.go:63] Allocated cache and file handles database=/home/user98/Documents/github/eth-private-network/istanbul/istanbultestnet/node2/geth/chaindata cache=768 handles=512
WARN [08-08|13:07:40|eth/db_upgrade.go:48] Upgrading database to use lookup entries
INFO [08-08|13:07:40|eth/db_upgrade.go:118] Database deduplication successful deduped=0
INFO [08-08|13:07:40|eth/backend.go:123] Initialised chain configuration config="{ChainID: 1530 Homestead: 1 DAO: <nil> DAOSupport: false EIP150: 2 EIP155: 3 EIP158: 3 Byzantium: <nil> Constantinople: <nil> Engine: istanbul}"
INFO [08-08|13:07:40|eth/backend.go:146] Initialising Ethereum protocol versions=[64] network=1530
INFO [08-08|13:07:40|core/blockchain.go:253] Loaded most recent local header number=0 hash=fc61f9…29aaac td=1
INFO [08-08|13:07:40|core/blockchain.go:254] Loaded most recent local full block number=0 hash=fc61f9…29aaac td=1
INFO [08-08|13:07:40|core/blockchain.go:255] Loaded most recent local fast block number=0 hash=fc61f9…29aaac td=1
INFO [08-08|13:07:40|core/tx_journal.go:149] Regenerated local transaction journal transactions=0 accounts=0
INFO [08-08|13:07:40|p2p/server.go:395] Starting P2P networking
INFO [08-08|13:07:43|p2p/discover/udp.go:238] UDP listener up self=enode://8b301efdb128529b753ed41cb184374492d1c5cfcc0bf7c94bb7df7aa17a81a73a3aa772f3bbedb767f52c114004fbd51bf928bd91c6b282b51b46683adec27e@146.198.136.74:4802
INFO [08-08|13:07:43|p2p/server.go:742] RLPx listener up self=enode://8b301efdb128529b753ed41cb184374492d1c5cfcc0bf7c94bb7df7aa17a81a73a3aa772f3bbedb767f52c114004fbd51bf928bd91c6b282b51b46683adec27e@146.198.136.74:4802
INFO [08-08|13:07:43|node/node.go:327] IPC endpoint opened url=/home/user98/Documents/github/eth-private-network/istanbul/istanbultestnet/node2/geth.ipc
INFO [08-08|13:07:43|node/node.go:397] HTTP endpoint opened url=http://0.0.0.0:9502 cors=* vhosts=localhost
INFO [08-08|13:07:44|geth/accountcmd.go:218] Unlocked account address=0xaF40683bF20cC8b61e2A0D083a926fA66291dE57
INFO [08-08|13:07:44|core/tx_pool.go:473] Transaction pool price threshold updated price=0
INFO [08-08|13:07:44|miner/miner.go:116] Starting mining operation
INFO [08-08|13:07:44|miner/worker.go:500] Commit new mining work number=1 txs=0 uncles=0 elapsed=86.813µs
WARN [08-08|13:07:44|miner/agent.go:108] Block sealing failed err=unauthorized
ERROR[08-08|13:07:54|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0x0a38a2061ADA40B1da28E9e9E2Bbc6F0c6d668b0 err="unauthorized address"
ERROR[08-08|13:08:06|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0x0a38a2061ADA40B1da28E9e9E2Bbc6F0c6d668b0 err="unauthorized address"
ERROR[08-08|13:08:20|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0x0a38a2061ADA40B1da28E9e9E2Bbc6F0c6d668b0 err="unauthorized address"
ERROR[08-08|13:08:38|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0x0a38a2061ADA40B1da28E9e9E2Bbc6F0c6d668b0 err="unauthorized address"
ERROR[08-08|13:09:04|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0x0a38a2061ADA40B1da28E9e9E2Bbc6F0c6d668b0 err="unauthorized address"
ERROR[08-08|13:09:46|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0x0a38a2061ADA40B1da28E9e9E2Bbc6F0c6d668b0 err="unauthorized address"
ERROR[08-08|13:11:00|consensus/istanbul/core/handler.go:141] Failed to decode message from payload address=0x0a38a2061ADA40B1da28E9e9E2Bbc6F0c6d668b0 err="unauthorized address"
Summarizing 1 Failure:
[Panic!] TPS-01: Large amount of transactions with number of validators 4 validators with gas limit 21000*1500 with txpool size 20480 with tx send rate 300ms [BeforeEach]
/usr/local/go/src/runtime/panic.go:82
Ran 1 of 1 Specs in 0.035 seconds
FAIL! -- 0 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestIstanbulLoadTesting (0.04s)
FAIL
FAIL github.com/jpmorganchase/istanbul-tools/tests/load 0.257s
Makefile:12: recipe for target 'load-testing' failed
make: *** [load-testing] Error 1
Hi,
I am attempting to encode the extra data for a genesis json in my go project but cannot include the dependency: atypes "github.com/getamis/go-ethereum/core/types". I think it should be atypes "github.com/ethereum/go-ethereum/core/types" from line 25 of https://github.com/getamis/istanbul-tools/blob/master/cmd/istanbul/extra/encoder.go
Cheers,
Chris
go build -v -o ./build/bin/istanbul ./cmd/istanbul
cmd/istanbul/main.go:23:2: cannot find package "github.com/urfave/cli" in any of:
/usr/local/go/src/github.com/urfave/cli (from $GOROOT)
/home/exp/blockchain/src/github.com/urfave/cli (from $GOPATH)
Makefile:6: recipe for target 'istanbul' failed
make: *** [istanbul] Error 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.