我目前正在做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/