Skip to main content
Bounty Ended with 50 reputation awarded by CommunityBot
show season key steps
Source Link
Luke Schoen
  • 2.4k
  • 9
  • 26
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) and Dave (i.e. 9936) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • In the code for your chain specification here you mention four authorities Alice, Bob, Charlie, and Dave. You're also using Babe, ImOnline, and Grandpa session keys here. So you need to generate season keys for each of those four authorities like in the example shown below (which only generates them for Alice, so repeat for Bob, and Charlie, and Dave by changing it from Alice to Bob, etc):
subkey inspect --scheme ed25519 "//Alice"
subkey inspect --scheme sr25519 "//Alice"//babe
subkey inspect --scheme sr25519 "//Alice"//imonline
subkey inspect --scheme ed25519 "//Alice"//grandpa

Then after starting all the validator nodes insert each of their session keys (only Alice shown below). Repeat below for Bob, Charlie, and Dave using their respective secret key and unique Public Key (hex) that was shown in the output from the previous step. Also change the respective RPC port of each cURL request to match the explicit different RPC port that you started each authority with so Alice (i.e. 9933), Bob (i.e. 9934), Charlie (i.e. 9935) and Dave (i.e. 9936)

curl -vH 'Content-Type: application/json' --data '{ "jsonrpc":"2.0", "method":"author_insertKey", "params":["babe", "//Alice//babe", "0x46ffa3a808850b2ad55732e958e781146ed1e6436ffb83290e0cb810aacf5070"],"id":1 }' 127.0.0.1:9933
curl -vH 'Content-Type: application/json' --data '{ "jsonrpc":"2.0", "method":"author_insertKey", "params":["imon", "//Alice//imonline", "0xee725cf87fa2d6f264f26d7d8b84b1054d2182cdcce51fdea95ec868be9d1e17"],"id":1 }' 127.0.0.1:9933
curl -vH 'Content-Type: application/json' --data '{ "jsonrpc":"2.0", "method":"author_insertKey", "params":["gran", "//Alice//grandpa", "0x6e2de2e5087b56ed2370359574f479d7e5da1973e17ca1b55882c4773f154d2f"],"id":1 }' 127.0.0.1:9933

Then restart all the authorities and verify they're all finalising blocks.

  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) and Dave (i.e. 9936) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • In the code for your chain specification here you mention four authorities Alice, Bob, Charlie, and Dave. You're also using Babe, ImOnline, and Grandpa session keys here. So you need to generate season keys for each of those four authorities like in the example shown below (which only generates them for Alice, so repeat for Bob, and Charlie, and Dave by changing it from Alice to Bob, etc):
subkey inspect --scheme ed25519 "//Alice"
subkey inspect --scheme sr25519 "//Alice"//babe
subkey inspect --scheme sr25519 "//Alice"//imonline
subkey inspect --scheme ed25519 "//Alice"//grandpa

Then after starting all the validator nodes insert each of their session keys (only Alice shown below). Repeat below for Bob, Charlie, and Dave using their respective secret key and unique Public Key (hex) that was shown in the output from the previous step. Also change the respective RPC port of each cURL request to match the explicit different RPC port that you started each authority with so Alice (i.e. 9933), Bob (i.e. 9934), Charlie (i.e. 9935) and Dave (i.e. 9936)

curl -vH 'Content-Type: application/json' --data '{ "jsonrpc":"2.0", "method":"author_insertKey", "params":["babe", "//Alice//babe", "0x46ffa3a808850b2ad55732e958e781146ed1e6436ffb83290e0cb810aacf5070"],"id":1 }' 127.0.0.1:9933
curl -vH 'Content-Type: application/json' --data '{ "jsonrpc":"2.0", "method":"author_insertKey", "params":["imon", "//Alice//imonline", "0xee725cf87fa2d6f264f26d7d8b84b1054d2182cdcce51fdea95ec868be9d1e17"],"id":1 }' 127.0.0.1:9933
curl -vH 'Content-Type: application/json' --data '{ "jsonrpc":"2.0", "method":"author_insertKey", "params":["gran", "//Alice//grandpa", "0x6e2de2e5087b56ed2370359574f479d7e5da1973e17ca1b55882c4773f154d2f"],"id":1 }' 127.0.0.1:9933

Then restart all the authorities and verify they're all finalising blocks.

  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?
mention wrong chain id used
Source Link
Luke Schoen
  • 2.4k
  • 9
  • 26

Please try the following:

  • It seems like you've tried to created a custom chain definition to synchronise and validate with different authorities. But But you've only created a custom chain specification customSpec.json based on code changes in youra "dev" chain id that youshould be specified in src/chain_spec.rs. But when you've tried to then build But you don't have a "raw" chain definition for the new chain from the custom chain specificationid "dev" since it appears you haven't usedrenamed that chain id to "tread_dev" --rawhere, so try usingcreate your custom chain specification with the correct chain id that as shown belowexists:
./target/release/transmit-node build-spec --chain tread_dev --disable-default-bootnode > customSpec.json

Also after trying to generate a chain specification you've tried to then build a "raw" chain definition for the new chain from the custom chain specification, but you haven't used --raw, so try using that flag as shown below:

./target/release/transmit-node build-spec --chain customSpec.json --disable-default-bootnode --raw > dev.json
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?

Please try the following:

  • It seems like you've tried to created a custom chain definition to synchronise and validate with different authorities. But you've only created a custom chain specification customSpec.json based on code changes in your "dev" chain id that you specified in src/chain_spec.rs. But when you've tried to then build a "raw" chain definition for the new chain from the custom chain specification you haven't used --raw, so try using that as shown below:
./target/release/transmit-node build-spec --chain customSpec.json --disable-default-bootnode --raw > dev.json
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?

Please try the following:

  • It seems like you've tried to created a custom chain definition to synchronise and validate with different authorities. But you've only created a custom chain specification customSpec.json based on code changes in a "dev" chain id that should be specified in src/chain_spec.rs. But you don't have a chain id "dev" since it appears you renamed that chain id to "tread_dev" here, so create your custom chain specification with the correct chain id that exists:
./target/release/transmit-node build-spec --chain tread_dev --disable-default-bootnode > customSpec.json

Also after trying to generate a chain specification you've tried to then build a "raw" chain definition for the new chain from the custom chain specification, but you haven't used --raw, so try using that flag as shown below:

./target/release/transmit-node build-spec --chain customSpec.json --disable-default-bootnode --raw > dev.json
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?
cleanup
Source Link
Luke Schoen
  • 2.4k
  • 9
  • 26

Please try the following:

  • It seems like you've tried to created a custom chain definition to synchronise and validate with different authorities. But you've only created a custom chain specification customSpec.json based on code changes in your "dev" chain id that you specified in src/chain_spec.rs. But when you've tried to then build a "raw" chain definition for the new chain from the custom chain specification you haven't used --raw, so try using that as shown below:
./target/release/transmit-node build-spec --chain customSpec.json --disable-default-bootnode --raw > dev.json
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?

Please try the following:

  • It seems like you've tried to created a custom chain definition to synchronise and validate with different authorities. But you've only created a custom chain specification customSpec.json based on code changes in your "dev" chain id that you specified in src/chain_spec.rs. But when you've tried to then build a "raw" chain definition for the new chain from the custom chain specification you haven't used --raw, so try using that as shown below:
./target/release/transmit-node build-spec --chain customSpec.json --disable-default-bootnode --raw > dev.json
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?

Please try the following:

  • It seems like you've tried to created a custom chain definition to synchronise and validate with different authorities. But you've only created a custom chain specification customSpec.json based on code changes in your "dev" chain id that you specified in src/chain_spec.rs. But when you've tried to then build a "raw" chain definition for the new chain from the custom chain specification you haven't used --raw, so try using that as shown below:
./target/release/transmit-node build-spec --chain customSpec.json --disable-default-bootnode --raw > dev.json
  • Have you tried changing the --node-key to 88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee (without the 0x prefix)?
  • Why don't you explicitly specify a different --rpc-port for Bob (i.e. 9934) and Charlie (i.e. 9935) other than the RPC port 9933 that Alice is using?
  • Why are you running two Charlie validators (both using --charlie) instead of just one Charlie and one Dave --dave?
  • Have you tried using --unsafe-ws-external and --unsafe-rpc-external too?
  • Does unsafe need to use a capital letter like --rpc-methods=Unsafe?
  • Why do you need --in-peers 256?
  • Have you tried using --execution=native -lruntime=debug?
Source Link
Luke Schoen
  • 2.4k
  • 9
  • 26
Loading