首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于PoA的挖掘模式

基于PoA的挖掘模式
EN

Ethereum用户
提问于 2018-01-17 11:30:45
回答 1查看 507关注 0票数 2

我使用authorityRound引擎(奇偶校验)建立了一个由两个节点组成的小型网络。我的问题是关于采矿。如果我有两个验证器(A和B),谁来开采这些块?节点A还是B?

我之所以这样问是因为在我的块资源管理器中,我总是看到作者是一样的:

例如,我看到这样的情况:

块_散列>作者

1×0x.A

2×0x.A

3×0x.A

4×0x.A

n = 0x.A

提前谢谢。

更新:

我正在使用这个设置:

  • 创世纪链
  • 用于管理验证器的智能契约是从https://github.com/paritytech/contracts/issues/96契约AdminValidatorList {地址公共所有者;address[]公共validatorList = undefined;address[]公共pendingList = undefined;映射(地址=> bool)公共isAdmin;修饰符onlyAdmin() { require(isAdminmsg.sender == true);_;} event validatorAdded(地址新验证器);event (地址旧验证器);event (地址新管理);event _( address oldadmin);event ( indexed #21#,en23#)中复制的;函数AdminValidatorList() public { isAdmin[validatorList0] = true;} //调用每个块来更新节点验证程序列表。函数getValidators()公共常量返回(address[] _validators) {返回validatorList;}函数getPendingValidators()公共常量返回(address[] _p) {返回pendingList;} //向列表中添加验证器。函数addValidator(地址验证器)公共onlyAdmin { for (uint = 0;i< pendingList.length;i++) { require(pendingList我 !=验证器);}pendingList.push(验证器);validatorAdded(验证器);InitiateChange(block.blockhash(block.number - 1),pendingList);} //从列表中删除验证器。函数removeValidator(地址验证器)公共onlyAdmin返回(bool ){ uint i=0;uint = pendingList.length;success = false;//您不想留下任何验证器--除非您的最小值为3. //否则不能删除任何验证器。使安全裕度为2 if (count > 2) { for (i=0;i

我知道两个节点都是正确连接的,因为如果使用静态验证器可以正常工作。

EN

回答 1

Ethereum用户

发布于 2018-12-12 16:57:20

我认为只有一个节点被挖掘,因为您已经在契约中定义了第一个节点的地址,而不是定义了一个列表:

代码语言:javascript
复制
address[] public validatorList = [<your first validator address>];
address[] public pendingList = [<your first validator address>];

您必须使用addValidator函数添加另一个地址,或者使用两个地址启动validatorlist

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/36594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档