1

嗨,我正在运行一个与 3 个验证器对等的 POA 链。所有 3 个验证器都是密封块,我已通过获取块详细信息进行了验证。现在的问题是,当 2 个验证者宕机时,第 3 个仍然继续密封,根据 Aura 算法,这不应该发生

预期 - 由于没有达成共识,不应开采区块

实际 - 块仍在开采中

同样的场景正在使用geth(即块没有被密封)。

PFB 我的 cli 选项

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 我的创世文件

{
"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" }
}

}

请让我知道我哪里出错了

奇偶校验版 - v2.0.7

4

1 回答 1

2

(其中一个)Aura(Parity)和 Clique(Geth)引擎之间的区别在于,一旦其他节点关闭,Geth 不允许单一权限来密封块。

然而,Parity Aura 确实允许这样做以防止链条停止。因此,您所体验到的网络行为是预期的。

于 2019-01-11T13:51:45.683 回答