这是我第一次这样做,希望有人能理解我的语法和问题。 我使用puppeth创建了2个节点,并为我的私有以太坊选择了Clique。两个节点都是缩放器(使用 clique.getSigners()在两个节点上进行验证)并且两者都可以看到彼此为对等(使用 admin.peers 进行验证)。当我开始使用下面的代码挖掘两个节点时,两个节点都停留在最近签名,必须等待其他节点
geth personal.unlockAccount(eth.coinbase)
geth eth.defaultAccount = eth.coinbase
geth miner.start()
以下是创建节点1的步骤(已经使用puppeth创建了genesis)
以下是创建节点2的步骤(已经使用puppeth创建了genesis)
检查签名者 - clique.getSigners - 两个帐户都显示
检查两个节点的同行 - admin.peers - 两者都没关系
然后我的两个使用下面的代码
geth personal.unlockAccount(eth.coinbase)
geth eth.defaultAccount = eth.coinbase
geth miner.start()
答案 0 :(得分:1)
使用bootnodes帮助对等可能是一个好主意。 (在开始使用它之前,我也对此想法持怀疑态度,但是它可以大大减少出现问题的机会,因为您可以通过它监视所有节点的活动)。它真的很容易使用,并且易于扩展。
无论如何,关于您的问题:它们肯定在不同的网络上(请参阅它们都密封第二块,因此它们在不同的网络上)。检查 port 和 rpcport 是否不同, networkid 是否相同。
我经常首先检查的一些一般想法如下:
此外,我并不是说要挑剔,而是让我们可以使用适当的语言,并且不会在不同的共识协议中感到困惑。尽管 Geth 命令是相同的( mine ),但根据PoA共识,没有这样的挖掘概念。这些区块是铸造的,因此签名节点(由Genesis区块确定或随后投票的授权节点)仅收集待处理的交易,验证它们并密封新的区块,然后将其广播给其他节点。而且,Clique不像BFT协议那样使用投票系统,我们的同事Marcos也在上面说过。 Clique使用纯粹的PoA,签字人将封条封锁并添加到链中。
很高兴进一步讨论,因为我对这些应用程序非常热衷!
敬请期待!
干杯
答案 1 :(得分:0)
之前我遇到过同样的问题。我的解决方案是终止节点2,然后再次运行它。
答案 2 :(得分:0)
node1通过admin.addPeer()添加node2节点地址