在前一篇文章中,我们介绍了PoA Clique共识下如何新增同步节点。本文将介绍如何在PoA Clique共识下新增验证者节点。
Clique 共识是以太坊的权威证明(Proof of Authority, PoA)共识机制的一种实现,主要用于私链或测试链场景。在 Clique 共识中,验证者节点(Sealer Nodes)扮演了核心角色,负责区块的生成和链的维护。
验证者节点是 Clique 共识下的核心节点,负责以下任务:
period,默认 15 秒),定义在创世文件中。Clique 共识支持动态管理验证者节点:
clique.propose("0xNewValidatorAddress", true)
clique.propose("0xValidatorAddressToRemove", false)
clique.getSigners()
clique.status()
Clique 共识的出块机制如下:
创世文件中定义验证者:在创世区块配置(genesis.json)中,可以通过 extraData 字段定义初始验证者。
示例:
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000<validators_addresses_in_hex>0000000000000000000000000000000000000000000000000000000000000000"
<validators_addresses_in_hex> 是验证者地址的拼接,每个地址为 20 字节。
节点启动时开启挖矿:验证者节点需要使用 --mine 参数启动 Geth:
$ geth --datadir /path/to/data --networkid 1234 --mine --miner.etherbase "0xYourValidatorAddress" --unlock "0xYourValidatorAddress" --password password.txt
检查是否正在挖矿:通过以下命令查看节点是否正在挖矿:
eth.mining
返回 true 表示节点正在尝试生成区块。
声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin
blog: mengbin
Github: mengbin92
cnblogs: 恋水无意
腾讯云开发者社区:孟斯特
—