1
votes

I am currently doing this tutorial. And on the same machine it worked as expected: The nodes are connecting and are creating and finalizing blocks. But now I want to do the same over the internet. So I have a server (Ubuntu 16.04 xenial) with open port 30333 on which I am running this command:

    ./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

And my PC (Manjaro 20.2.1 Nibia) with no open ports on which I am running this command:

    ./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>

In the terminal I see network traffic on both nodes so networking should not be the problem. But there are 0 peers on both nodes and there are no blocks created/finalized. But I am getting two errors on the bootnodes terminal printed repeatedly:

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

and

Parsing mdns packet failed: LabelIsNotAscii

Both errors are already output before I try to connect to the bootnode from my PC.

Both nodes are compiled from the same code and are using the same custom chain spec file generated on the server.

So my questions are:

  • What do the errors/warnings mean?
  • How to fix them in order to get the expected results?
  • If the errors/warnings are not causing the problem what else could it be?
1
So before I set all the answers below, you will need to use the --unsafe-rpc-external for RPC functionality and --unsafe-ws-external to expose ws functionality to non local callers. More here: github.com/paritytech/substrate/wiki/Public-RPCNukeManDan
for the mDNS issue, try --no-mdns to disable it, as it's for local nodes to discover each-other and not how you find remote peers.NukeManDan
For telemetry, the ws flag above should fix this I suspect, but this may be a firewall issues or some other networking misconfiguration - let me know if it persists :)NukeManDan
Hello @NukeManDan Thanks for your help. The "Parsing mdns packet failed: LabelIsNotAscii" error disappeared as I used the --no-mds flag. But unfortunately the problem did not disappear: I see the same behavior. The --unsafe-rpc-external and --unsafe-ws-external flags didn't seem to change anything.Moritz Eigenauer

1 Answers

1
votes

I did reclone and recompile both nodes and somehow it's working now. I did not change anything in the command except the --no-mdns flag.