【问题标题】:Blocks are not being finalized in a private network区块未在专用网络中完成
【发布时间】:2021-03-22 16:33:04
【问题描述】:

我正在关注tutorial 在基板中运行基本的 2 节点专用网络。我已经使用 subkey 为两个节点生成 aura 和 grandpa 密钥,并将密钥添加到 keystore。

我认为我做的一切都是正确的,两个节点都在运行并生成块,但块还没有最终确定。我不确定是什么问题,aura keys 负责出块,grandpa keys 负责区块敲定,aura keys 显然可以工作,因为出块了,所以我怀疑爷爷密钥有问题,但是对于 aura 和 grandpa,添加密钥的过程实际上是相同的,所以我不明白为什么它对一个有效而对另一个无效。

在添加了两对密钥以重新启动节点后,我使用 purge-chain 命令清除了链,但块仍未最终确定。

另外,我正在使用一台 Linux 机器在不同的终端窗口中运行两个节点,我不知道这是否是个问题。有什么想法吗?

【问题讨论】:

  • 您不需要在添加 GRANDPA 密钥后运行purge-chain,但您确实需要重新启动两个节点。添加 GRANDPA 密钥后是否重新启动节点?在您执行此操作之前,节点将创建块但不会最终确定它们。
  • @DanForbes 如何重启节点?我只是在终端中使用ctrl c 来停止节点,然后运行与开始时相同的命令以再次启动节点,但仍然没有最终确定块。这算作重新启动还是我在做一些非常愚蠢的事情? :D
  • 不,我希望它可以工作。您确定要添加正确的密钥吗?
  • 我很确定我做的事情是正确的,但我会再次重做所有事情以确保 100% 确定,谢谢@DanForbes!
  • 请不要在问题中编辑解决方案公告。接受(即单击旁边的“勾选”)现有答案之一,如果有的话。如果现有答案尚未涵盖您的解决方案,您还可以创建自己的答案,甚至接受它。

标签: substrate parity polkadot private-network


【解决方案1】:

使用终端向 Keystore 添加密钥无论出于何种原因都不起作用,但您可以使用polkadot.js.org/apps 接口添加密钥,之后块工作正常,它们正在生成和完成。该步骤在教程本身中进行了讨论,但据说它不是添加密钥的最安全方法

【讨论】:

    【解决方案2】:

    我认为重启会起作用。

    你能把你的引导命令贴在这里吗?我会为你更新答案。

    【讨论】:

    • ./target/release/node-template \ --base-path /tmp/node01 \ --chain ./customSpecRaw.json \ --port 30333 \ --ws-port 9944 \ --rpc-port 9933 \ --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' \ --validator \ --rpc-methods Unsafe \ --name MyNode01 这是我用来启动第一个节点的命令
    • ./target/release/node-template \ --base-path /tmp/node02 \ --chain ./customSpecRaw.json \ --port 30334 \ --ws-port 9945 \ --rpc-port 9934 \ --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' \ --validator \ --rpc-methods Unsafe \ --name MyNode02 \ --bootnodes /ip4/<IP Address>/tcp/<Port>/p2p/<Peer ID> 这是第二个节点的命令,具有正确的 IP 地址、tcp 端口和对等 id
    • 我正在关注教程,命令给出here
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多