Substrate 解析 mdns 数据包失败

标签 substrate

我目前正在做this tutorial 。在同一台机器上,它按预期工作:节点正在连接并正在创建和完成 block 。但现在我想通过互联网做同样的事情。因此,我有一台开放端口 30333 的服务器(Ubuntu 16.04 xenial),我在该服务器上运行以下命令:

    ./target/release/node-template \
      --base-path /tmp/alice \
      --chain ./customSpecRaw.json \
      --alice \
      --rpc-methods Unsafe \
      --port 30333 \
      --ws-port 9945 \
      --rpc-port 9933 \
      --node-key 0000000000000000000000000000000000000000000000000000000000000001 \
      --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' \
      --validator \
      --name Node01

我的电脑 (Manjaro 20.2.1 Nibia) 没有开放端口来运行此命令:

    ./target/release/node-template
      --base-path /tmp/bob
      --chain ./customSpecRaw.json
      --bob
      --port 30334
      --ws-port 9946
      --rpc-port 9934
      --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0'
      --validator
      --rpc-methods Unsafe
      --name Node02
      --bootnodes /ip4/<SERVER IP>/tcp/30333/p2p/<BOOTNODE P2P ID>

在终端中,我看到两个节点上的网络流量,因此网络应该不是问题。但是两个节点上都有 0 个对等点,并且没有创建/最终确定的 block 。但我在 bootnodes 终端上重复打印了两个错误:

Error while dialing /dns/telemetry.polkadot.io/tcp/443/x-parity-wss/%2Fsubmit%2F: Custom { kind: Other, error: Timeout }

Parsing mdns packet failed: LabelIsNotAscii

在我尝试从我的电脑连接到引导节点之前,这两个错误已经输出。

两个节点都是由相同的代码编译而成,并使用在服务器上生成的相同的自定义链规范文件。

所以我的问题是:

  • 错误/警告是什么意思?
  • 如何解决这些问题才能获得预期的结果?
  • 如果错误/警告不是导致问题的原因,那么还有什么可能?

最佳答案

我确实重新克隆并重新编译了两个节点,不知何故它现在正在工作。除了 --no-mdns 标志之外,我没有更改命令中的任何内容。

关于Substrate 解析 mdns 数据包失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66733134/

相关文章:

rust - 如何在 Substrate 特定类型和 Rust 原始类型之间进行转换?

rust - 在 Rust 中开发基板运行时是否有必要使用宏?

rust - Substrate 中来自比特币的 OP_RETURN <data> 相当于什么?

javascript - 添加自定义 @polkadot/types 时 Polkadot-js Babel 错误

substrate - 为什么在调用智能合约功能时显示错误消息 'system.ExtrinsicFailed'?

blockchain - 如何在基板运行时进行浮点运算

rust - 如何通过将货币转移到另一个帐户而不是使用储备货币来修改昵称托盘(在基板中)以设置昵称?

substrate - 基板中的事件存储成本是多少?

rust - 如何消除同名特征之间的歧义?

rust - 在基板中声明 HashMap (storageMap)