Reputation: 13
Hi I am running a POA chain on parity with 3 validators . All 3 validators are sealing blocks which I have verified by getting the block details . Now the issue is that when 2 of the validators go down, the 3rd one still continues sealing which shouldn't happen according to Aura algorithm
Expected - Blocks shouldn't be mined as there is no consensus
Actual - Blocks are still getting mined
The same scenario is working with geth (i.e blocks are not getting sealed).
PFB my cli options
parity --no-discovery --mode=active --network-id=187 --chain=$home/genesis.json --base-path=$home/node_un --db-path=$home/node_un/db --ipc-path=$home/node_un/parity.ipc --ipc-apis=all --jsonrpc-apis=all --jsonrpc-port=8541 --ws-apis=all --ws-port=8551 --port=30301 --force-sealing=true --reseal-on-txs=all --jsonrpc-hosts=all --jsonrpc-interface={ip_addr} --ws-interface=all --ws-hosts=all --ws-origins=all --ws-max-connections=10000 --engine-signer={signer_address} --password={passwd_file} --gas-floor-target=100000000 --gas-cap=100000000 --tx-queue-mem-limit=1024 --tx-queue-size=20480000 --tx-queue-per-sender=100000 --reseal-max-period=2000 --reserved-peers {enode_txt} --reserved-only
PFB my genesis file
{
"name": "187",
"engine": {
"authorityRound": {
"params": {
"stepDuration": "2",
"validators" : {
"multi": {
"0": {
"list": [
"addr1",
"addr2"
]
},
"136300": {
"list": [
"addr1",
"addr2"
]
},
"136455": {
"list": [
"addr1",
"addr2",
"addr3"
]
}
}
}
}
}
},
"params": {
"gasLimitBoundDivisor": "0x400",
"maximumExtraDataSize": "0x20",
"minGasLimit": "0x1388",
"networkID" : "0xBB",
"eip155Transition": 0,
"validateChainIdTransition": 0,
"eip140Transition": 0,
"eip211Transition": 0,
"eip214Transition": 0,
"eip658Transition": 0
},
"genesis": {
"seal": {
"authorityRound": {
"step": "0x0",
"signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
}
},
"difficulty": "0x1",
"gasLimit": "0x55D4A80"
},
"accounts": {
"0x0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
"0x0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
"0x0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
"0x0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
"addr": { "balance": "800000000000000000000000000" }
}
}
Please let me know where I am going wrong
Parity version - v2.0.7
Upvotes: 1
Views: 500
Reputation: 11824
(One of) The difference(s) between Aura (Parity) and Clique (Geth) engines is that Geth does not allow a single authority to seal blocks once the other nodes are down.
Parity Aura, however, does allow that to prevent the chain from halting. So, the behavior of your network that you experience, is expected.
Upvotes: 2