3

We want to automate the launch of our bootnodes for our parachain. We generated a spec file with an IP address as well as an identity that are repeatable. We used the --node-key to get a repeatable identity and each IP address has a unique nodekey

The issue is that when a node downloads the spec file which has its identity as part of the bootnodes inside the spec file we receive the below error

2022-07-29 11:35:19 [Parachain] 💔 The bootnode you want to connect provided a different peer ID than the one you expect: `12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ` with `12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ`:`Dialer { address: "/ip4/13.59.92.128/tcp/30333/p2p/12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ", role_override: Dialer }`.    
2022-07-29 11:35:22 [Relaychain] ⚙️  Syncing 668.6 bps, target=#1255136 (36 peers), best: #116194 (0xd001…c67d), finalized #115761 (0xa114…c722), ⬇ 8.5MiB/s ⬆ 8.7kiB/s    
2022-07-29 11:35:23 [Parachain] 💤 Idle (4 peers), best: #4654 (0x62d2…3104), finalized #0 (0x32ab…a5aa), ⬇ 0.2kiB/s ⬆ 0.5kiB/s    
2022-07-29 11:35:24 [Parachain] 💔 The bootnode you want to connect provided a different peer ID than the one you expect: `12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ` with `12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ`:`Dialer { address: "/ip4/13.59.92.128/tcp/30333/p2p/12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ", role_override: Dialer }`.    
2022-07-29 11:35:27 [Relaychain] ⚙️  Syncing 1025.2 bps, target=#1255135 (37 peers), best: #121320 (0x4854…ce41), finalized #121081 (0xeeb5…6510), ⬇ 14.3MiB/s ⬆ 12.9kiB/s    
2022-07-29 11:35:28 [Parachain] 💤 Idle (4 peers), best: #4654 (0x62d2…3104), finalized #0 (0x32ab…a5aa), ⬇ 0.2kiB/s ⬆ 0.2kiB/s    
2022-07-29 11:35:29 [Parachain] 💔 The bootnode you want to connect provided a different peer ID than the one you expect: `12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ` with `12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ`:`Dialer { address: "/ip4/13.59.92.128/tcp/30333/p2p/12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ", role_override: Dialer }`.    
2022-07-29 11:35:31 [Parachain] ✨ Imported #4668 (0x5840…8332)    
2022-07-29 11:35:31 [Parachain] ✨ Imported #4668 (0xabba…cad3)    
2022-07-29 11:35:31 [Parachain] ✨ Imported #4668 (0x3ffa…be31)    
2022-07-29 11:35:31 [Parachain] ✨ Imported #4668 (0xa2dd…f089)    
2022-07-29 11:35:32 [Relaychain] ⚙️  Syncing 923.2 bps, target=#1255136 (38 peers), best: #125936 (0x4f02…11e3), finalized #125810 (0xe9b6…04f5), ⬇ 10.4MiB/s ⬆ 10.0kiB/s    
2022-07-29 11:35:34 [Parachain] 💤 Idle (4 peers), best: #4654 (0x62d2…3104), finalized #0 (0x32ab…a5aa), ⬇ 5.9kiB/s ⬆ 0.4kiB/s    
2022-07-29 11:35:34 [Parachain] 💔 The bootnode you want to connect provided a different peer ID than the one you expect: `12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ` with `12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ`:`Dialer { address: "/ip4/13.59.92.128/tcp/30333/p2p/12D3KooWJp6SAVLsc2aoEAwP3D9ETEcBKW9tvV1ZvfDqXBUw74zQ", role_override: Dialer }`. 

Please note that despite the error, the bootnode does discover the other boot nodes and syncs successfully.

So the question is how do we automate the launching of bootnodes, this same spec file works fine when you are launching a node that connects to these bootnodes but it assumes the bootnode is already running

how do you automate the launch of the bootnodes themselves if they are not running on the same instance?

2 Answers 2

1

The default bootnodes are read from the spec file.

You should update this field in your spec file:

    "bootNodes": [
    ],

Here's the Polkadot spec https://github.com/paritytech/polkadot/blob/master/node/service/chain-specs/polkadot.json.

You could see:

  "bootNodes": [
    "/dns/polkadot-connect-0.parity.io/tcp/443/wss/p2p/12D3KooWEPmjoRpDSUuiTjvyNDd8fejZ9eNWH5bE965nyBMDrB4o",
    "/dns/polkadot-connect-1.parity.io/tcp/443/wss/p2p/12D3KooWLvcA24g6sT9YTaQyinwowMbLF5z7iMLoxZpEiV9pSmNf",
    "/dns/polkadot-connect-2.parity.io/tcp/443/wss/p2p/12D3KooWDhp18HYzJuVX2jLhtjQgAhT1XWGqah42StoUJpkLvh2o",
    "/dns/polkadot-connect-3.parity.io/tcp/443/wss/p2p/12D3KooWEsPEadSjLAPyxckqVJkp54aVdPuX3DD6a1FTL2y5cB9x",
    "/dns/polkadot-connect-4.parity.io/tcp/443/wss/p2p/12D3KooWFfG1SQvcPoUK2N41cx7r52KYXKpRtZxfLZk8xtVzpp4d",
    "/dns/polkadot-connect-5.parity.io/tcp/443/wss/p2p/12D3KooWDmQPkBvQGg9wjBdFThtWj3QCDVQyHJ1apfWrHvjwbYS8",
    "/dns/polkadot-connect-6.parity.io/tcp/443/wss/p2p/12D3KooWBKtPpCnVTTzD7fPpCdFsrsYZ5K8fwmsLabb1JBuCycYs",
    "/dns/polkadot-connect-7.parity.io/tcp/443/wss/p2p/12D3KooWP3BsFY6UaiLjEJ3YbDp6q6SMQgAHB15qKj41DUZQLMqD",
    "/dns/p2p.0.polkadot.network/tcp/30333/p2p/12D3KooWHsvEicXjWWraktbZ4MQBizuyADQtuEGr3NbDvtm5rFA5",
    "/dns/p2p.1.polkadot.network/tcp/30333/p2p/12D3KooWQz2q2UWVCiy9cFX1hHYEmhSKQB2hjEZCccScHLGUPjcc",
    "/dns/p2p.2.polkadot.network/tcp/30333/p2p/12D3KooWNHxjYbDLLbDNZ2tq1kXgif5MSiLTUWJKcDdedKu4KaG8",
    "/dns/p2p.3.polkadot.network/tcp/30333/p2p/12D3KooWGJQysxrQcSvUWWNw88RkqYvJhH3ZcDpWJ8zrXKhLP5Vr",
    "/dns/p2p.4.polkadot.network/tcp/30333/p2p/12D3KooWKer8bYqpYjwurVABu13mkELpX2X7mSpEicpjShLeg7D6",
    "/dns/p2p.5.polkadot.network/tcp/30333/p2p/12D3KooWSRjL9LcEQd5u2fQTbyLxTEHq1tUFgQ6amXSp8Eu7TfKP",
    "/dns/cc1-0.parity.tech/tcp/30333/p2p/12D3KooWSz8r2WyCdsfWHgPyvD8GKQdJ1UAiRmrcrs8sQB3fe2KU",
    "/dns/cc1-1.parity.tech/tcp/30333/p2p/12D3KooWFN2mhgpkJsDBuNuE5427AcDrsib8EoqGMZmkxWwx3Md4",
    "/dns/polkadot-bootnode.dwellir.com/tcp/30333/ws/p2p/12D3KooWKvdDyRKqUfSAaUCbYiLwKY8uK3wDWpCuy2FiDLbkPTDJ"
  ],
0

The error seems to appear when adding to a node itself as a bootnode.

The fix for these error messages you are seeing have been recently added here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.