1703879830
1703879831
上述程序代码的工作原理如下:
1703879832
1703879833
·engine属性用于设置共识协议和协议具体参数。这里的engine是authority-Round,也就是aura。gasLimitBoundDivisor决定gas上限调整,并有通常的以太坊值。在验证器属性中,有一个contract属性,即reporting合约的地址。stepDuration是以秒为单位的区块时间。
1703879834
1703879835
·在params属性中,只有网络ID才是关键;在所有的链中,其他属性都是标准的。
1703879836
1703879837
·genesis属性对于authorityRound共识有一些标准数值。
1703879838
1703879839
·accounts属性用于列出网络中存在的最初账户和合约。前四个是标准以太坊内置合约,使用Solidity合约编写语言应当包括这些。第五个是reporting合约。确保把字节码替换成constructor参数中的字节码。最后一个账户是在验证器1 shell生成的第二个账户。它的用途是向网络提供以太币。用户可以用自己的地址替换它。
1703879840
1703879841
在继续下一步操作之前,创建另一个文件node.pwds,在其中放入所创建的账户的密码。该文件将被验证器用来解锁账户,签署区块。
1703879842
1703879843
3.启动节点
1703879844
1703879845
现在已经具备各种条件启动验证节点了。在第一个shell窗口中,运行如下命令以启动第一个验证节点:
1703879846
1703879847
1703879848
1703879849
1703879850
上述命令的工作原理如下:
1703879851
1703879852
·—chain用于指定规范文件的路径。
1703879853
1703879854
·-d用于指定数据目录。
1703879855
1703879856
·—force-sealing用于确保即使没有交易也产生区块。
1703879857
1703879858
·—engine-signer用于指定节点签署区块时使用的地址,即验证器的地址。如果可能有恶意机构,则推荐用—force-sealing,这将保证正确的链是最长的。确保把地址改为生成的那个地址,即在这个shell窗口生成的地址。
1703879859
1703879860
·—password用于指定密码文件。
1703879861
1703879862
在第二个shell窗口中,运行如下命令以启动第二个验证节点:
1703879863
1703879864
1703879865
1703879866
1703879867
确保把地址修改为生成的那个地址,即在这个shell窗口生成的地址。
1703879868
1703879869
4.连接节点
1703879870
1703879871
最后需要连接两个节点。打开一个新的shell窗口,运行如下命令,URL会连接到第二个节点:
1703879872
1703879873
1703879874
1703879875
1703879876
将得到类似这样的输出:
1703879877
1703879878
1703879879
[
上一页 ]
[ :1.70387983e+09 ]
[
下一页 ]