Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions versi/relaychain/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,22 @@

Run following script to generate chainspec.json:

DOCKER_IMAGE=docker.io/parity/polkadot:v0.9.40
# 1.a generate base chainspec

# 1. generate base chainspec
DOCKER_IMAGE=***
EPOCH_DURATION_IN_BLOCKS=***
./generate-chainspec-with-fast-rococo.sh

docker run $DOCKER_IMAGE build-spec --chain versi-staging > ./versi-base.json
# 1.b generate overrides (if not already present)

# 2. Merge versi-base.json and versi-override.json
SUDO_SEED=***
DERIVATION_ROOT_SEED=***
./generate-override.sh 8 > ./versi-override.json

jq -s '.[0] * .[1]' versi-base.json versi-override.json | sed 's/1e+18/1000000000000000000/' > ./chainspec-nonraw.json
# 2. Merge chainspec-rococo-staging-plain.json and versi-override.json

# 3. Convert to raw

docker run --rm -v $(pwd):/dir:z -w /dir $DOCKER_IMAGE build-spec --chain /dir/chainspec-nonraw.json --raw > ./chainspec.json
jq -s '.[0] * .[1]' chainspec-rococo-staging-plain.json versi-override.json | sed 's/1e+18/1000000000000000000/' > ./chainspec-plain.json

# 4. Clean up
# 3. Convert to raw

rm versi-base.json
docker run --rm -v $(pwd):/dir:z -w /dir $DOCKER_IMAGE build-spec --chain /dir/chainspec-plain.json --raw > ./chainspec.json
283 changes: 0 additions & 283 deletions versi/relaychain/chainspec-nonraw.json

This file was deleted.

261 changes: 261 additions & 0 deletions versi/relaychain/chainspec-plain.json

Large diffs are not rendered by default.

282 changes: 282 additions & 0 deletions versi/relaychain/chainspec-rococo-staging-plain.json

Large diffs are not rendered by default.

282 changes: 282 additions & 0 deletions versi/relaychain/chainspec-rococo-staging-source.json

Large diffs are not rendered by default.

90 changes: 43 additions & 47 deletions versi/relaychain/chainspec.json
100755 → 100644

Large diffs are not rendered by default.

Binary file not shown.

Large diffs are not rendered by default.

41 changes: 41 additions & 0 deletions versi/relaychain/generate-chainspec-with-fast-rococo.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash -eu
# Original author: @michalkucharczyk
# Taken from https://raw.githubusercontent.com/paritytech/polkadot-sdk/d55ae688a8d0769966a125fde2f0dd6cc7f8e762/polkadot/scripts/update-chain-spec-with-fast-rococo.sh
# Sample script showing how to update the chain-spec 'code' field with the pre-built rococo runtime blob with
# non-standard epoch duration.

CURRENT_DIR=$(pwd)
CHAIN_NAME=rococo-staging
DOCKER_IMAGE="${DOCKER_IMAGE:-'paritypr/polkadot-debug:master-76994356'}"
EPOCH_DURATION_IN_BLOCKS="${EPOCH_DURATION_IN_BLOCKS:-100}"

if [ -z $DOCKER_IMAGE ]; then
usage
fi

OUTPUT_ROOT_DIR=exported-runtimes/

# polkadot command:
POLKADOT_CMD="docker run --rm -v $CURRENT_DIR:/dir -w /dir $DOCKER_IMAGE"

# extract rococo runtime with adjusted epoch diration from docker image
docker export $(docker create $DOCKER_IMAGE) | \
tar --transform="s|polkadot/runtimes/|$OUTPUT_ROOT_DIR/|" -xf - polkadot/runtimes/rococo-runtime-$EPOCH_DURATION_IN_BLOCKS/rococo_runtime.wasm

# path to extracted rococo runtime:
WASM_RUNTIME_BLOB_PATH=$OUTPUT_ROOT_DIR/rococo-runtime-$EPOCH_DURATION_IN_BLOCKS/rococo_runtime.wasm

# do hexdump of runtime:
hexdump -v -e '/1 "%02x"' $WASM_RUNTIME_BLOB_PATH > $WASM_RUNTIME_BLOB_PATH.hex

# get chain spec:
$POLKADOT_CMD build-spec --chain $CHAIN_NAME > $CURRENT_DIR/chainspec-$CHAIN_NAME-source.json

# replace runtime in chainspec with newly built runtime with overwritten epoch duration:
jq --rawfile code $WASM_RUNTIME_BLOB_PATH.hex '.genesis.runtime.system.code = "0x" + $code' > $CURRENT_DIR/chainspec-$CHAIN_NAME-plain.json < $CURRENT_DIR/chainspec-$CHAIN_NAME-source.json

# jq will write numbers in compact way with 1e+18, substrate json parser dont support it.
sed 's/1e+18/1000000000000000000/' -i $CURRENT_DIR/chainspec-$CHAIN_NAME-plain.json

# generate raw
#$POLKADOT_CMD build-spec --chain ./chainspec-$CHAIN_NAME-plain.json --raw > $CURRENT_DIR/chainspec-$CHAIN_NAME-raw.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ if [ "$#" -ne 1 ]; then
echo "Please provide the number of initial validators!"
echo "Usage: $0 8 > ./versi-override.json"
echo "export SUDO_SEED= # seed "
echo "export VALIDATORS_ROOT_SEED= #base seed to derive from"
echo "./prepare-test-net.sh 8 > ./versi-override.json"
echo "export DERIVATION_ROOT_SEED= #base seed to derive from"
echo "./generate-override.sh 8 > ./versi-override.json"
echo "NOTE: Update beefy manually subkey can not generate such key"
exit 1
fi

PREFIX=versi-bootnode-

generate_address() {
subkey inspect ${3:-} ${4:-} "$VALIDATORS_ROOT_SEED//$PREFIX$1//$2" | grep "SS58 Address" | awk '{ print $3 }'
subkey inspect ${3:-} ${4:-} "$DERIVATION_ROOT_SEED//$PREFIX$1//$2" | grep "SS58 Address" | awk '{ print $3 }'
}

V_NUM=$(($1 - 1))
Expand Down Expand Up @@ -71,8 +71,15 @@ CHAINSPEC='{
],
"genesis": {
"runtime": {
"runtime_genesis_config": {
'"$BALANCES, ${SESSION}"'
'"$BALANCES, ${SESSION}"',
"configuration": {
"config": {
"scheduling_lookahead": 2,
"async_backing_params": {
"max_candidate_depth": 3,
"allowed_ancestry_len": 2
}
}
}
}
}
Expand Down
244 changes: 126 additions & 118 deletions versi/relaychain/versi-override.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,128 +13,136 @@
],
"genesis": {
"runtime": {
"runtime_genesis_config": {
"balances": {
"balances": [
[
"5DwBmEFPXRESyEam5SsQF1zbWSCn2kCjyLW51hJHXe9vW4xs",
1000000000000000000
],
[
"5FvF2XQsgbAu7g5vGxLjUcsECu6KfwN9vFgknYMNHWgMBNqf",
1000000000000000000
]
"balances": {
"balances": [
[
"5DwBmEFPXRESyEam5SsQF1zbWSCn2kCjyLW51hJHXe9vW4xs",
1000000000000000000
],
[
"5FvF2XQsgbAu7g5vGxLjUcsECu6KfwN9vFgknYMNHWgMBNqf",
1000000000000000000
]
},
"session": {
"keys": [
[
"5DV3X8jaZ2pwUFnApusxSQc3hPZrbCKByvdGfLvwFqcKXRte",
"5DV3X8jaZ2pwUFnApusxSQc3hPZrbCKByvdGfLvwFqcKXRte",
{
"grandpa": "5GL8faNkBoJS6TeZANDGjo8PcPyPs5WZQ85J5uB4jqPpyvh8",
"babe": "5FNF9A2TFd8PgutZd8bdPpbR1WSZCcjtnggd9EEq3oVKVM36",
"im_online": "5EycsfQxcsFBjJ6setX8yivnceNiBoZtiQkcryvNQA9K4ULK",
"para_validator": "5DjqDw5NMmFdiafR9oVKZLasjY96jsd4sM5sdhMi8CT29vKx",
"para_assignment": "5F7Ka1qtTNVLityecYunrePHew3xCzV8HwZcrGZ9fuCS9NWv",
"authority_discovery": "5Hb3UnjMkuTWN47mKFxFfrad3gG8QzVNHogq3Nmj9drmnQPZ",
"beefy": "KW7vQVy7rsgoBKjBMSsroY7otKAjSesjexLcQjGFKisbHZT73"
}
],
[
"5Cag9DRBPYVHdpT4jTeciPeSikrFXmo6RvM7tvWTQgbtmVz8",
"5Cag9DRBPYVHdpT4jTeciPeSikrFXmo6RvM7tvWTQgbtmVz8",
{
"grandpa": "5CpyzFD8PePkdLNCpMkGSoHp5xQy4bNoga4fgSV3gik9A5gV",
"babe": "5FLny6BTcXSWMjZHgaiEbh5GPgyoTuDjqmd4PCCakKDPyYQL",
"im_online": "5HB5z5q5d2AdeT6EiQHd4KTweUr7m3KTZfvcMVJPBZfwh98v",
"para_validator": "5FTqYsXezAyeKREwBwMjrQURFMZ9VSVWLom4TNo514aD9F7A",
"para_assignment": "5HGhpDMW91xYabtKr29vUTuJqtsz1rucuEKiRz5cMUfYKVeG",
"authority_discovery": "5HKqyEHGaAo7zZYxeY5Q4Ti1B2ooXKYvvPBzjNXan3Fpz8z2",
"beefy": "KWBmGhFMDzivGY1KEqHaqL5FDPoc2oCVLk4YwTZZDJn4GQCqF"
}
],
[
"5GYgFK92vZj833faADWvFvtfQNEMKJruA6hfnQAb3Pwj9CMU",
"5GYgFK92vZj833faADWvFvtfQNEMKJruA6hfnQAb3Pwj9CMU",
{
"grandpa": "5ExhjXhUcbD6BDDS4B4EUoDkxTWxuh2eADJS9XkrRMBSfp4a",
"babe": "5EWkYHRWeLtsZ9ZZcTLt4hvsZ7vFeCyu5N8SFGvghNWN9BMX",
"im_online": "5F7YM3nbu6MpYpaLhnTr44dyvkte1T6T5ZPxznRPkL6NA5JY",
"para_validator": "5DyXfRM9Q7y9ai88iRwUL9PhGsFu1qsuXkUhV96HyN2QzPB5",
"para_assignment": "5Hp5F5ANNvzfAPrAKjMAervCzkrjBTBD1G8FosrVAtAvsA5K",
"authority_discovery": "5FjR5ZGcphJwa8ASbN4Zy7G68CBSYncMCvnzb8NKjgavRu8c",
"beefy": "KWAE8UnJYapZXwZG1TrEZ4wu1oUpH85GEQTGmaa2jpYEkCPL4"
}
],
[
"5F7EdNXunchNw4DnsSqXnhMZXLQRxuo1my2Ea86suAJYyzLE",
"5F7EdNXunchNw4DnsSqXnhMZXLQRxuo1my2Ea86suAJYyzLE",
{
"grandpa": "5G112ibbo5RpVoEZzfk925XC5ZhudgGGcVp89EtjH8p4sgSd",
"babe": "5Dqqu4PZ6CEfLmuHMq1Zh445sNoWMyGJ2koKDvViJaSNSym1",
"im_online": "5G8uMor82Z361AL26srzShBJPcZW2WeBWnyQ8zY8HeVT8iDc",
"para_validator": "5Cvs52pMzW6ygaKuy9PqBuqd486aaXEi3jGrdAvSPcBqAuMN",
"para_assignment": "5CV7RehhbrMXhRy5ULMLz1Z6K9phjAHTh7NciS32PAxcdhUS",
"authority_discovery": "5CvZfiLpvRFXnL3TnQ6q174AaKU5ZbEEApDfXqyfwTZthpxp",
"beefy": "KWDMyYTBtbn228kuRmdpyMok9LVynZwRJoU63DTVB3JX4s9Kn"
}
],
[
"5Enyc7KFiNo3cya5nrDe4iwMGxMFxcJHGqAcraKnnrEocL8T",
"5Enyc7KFiNo3cya5nrDe4iwMGxMFxcJHGqAcraKnnrEocL8T",
{
"grandpa": "5Dp77hZ1bG4kdkVa2LR44dZqCDrLDfgfRpSygZTCVrhHuFjX",
"babe": "5H3Yis5m8ikyU8nUHGYNfvvPyFtHPDb19KGTxYhweznNJHUH",
"im_online": "5D5aY6RacUAtLQPRJLNfYUogDmJxQKpuRfGSm75mFLU25cdM",
"para_validator": "5Hpvfs89hBjqEF1cXUiKZXBv4no1oC2mHw1NpQ11C6XCgMGW",
"para_assignment": "5EPXP8yv65npdoSig3ru22XXS4CYeK1W5P2pGXrTSu13CnUo",
"authority_discovery": "5HGTYBcTgosXkVGUchpPT2VYi5QEhYNbYgUdXhX1NQwpAYGD",
"beefy": "KW913N8emAEsDFNaQi24g6PCZdQXqfEXed6We9AamguwkRTgj"
}
],
[
"5HisWy38kugc3Ay4XAsrg1DAU3pJfsQhmPToY5Y726ZbunV8",
"5HisWy38kugc3Ay4XAsrg1DAU3pJfsQhmPToY5Y726ZbunV8",
{
"grandpa": "5E2BMeeNPfHoaoeGkRcwuSXmHxQKt7kkVWwzzg1EyeM9Uxsq",
"babe": "5FsX7MZEXD8PV4VMKitxHJDQHaw9aufVYDeHj9TnSZMxh19Z",
"im_online": "5GNT2rvcVbiyXoBEFCEmyuKPHCeyU7t6Z9b9P9QZZQt5zkyP",
"para_validator": "5CDkpJJQDfjwrhWG6mHMQehLLvykkqcutcU8hyv5qR5cxeAs",
"para_assignment": "5FgrEDFDrbmghpVaeg59cy5hsRk5bNpXcKBy9sCg8STa9KZ8",
"authority_discovery": "5GTFG9KW6j628acwSV9GgjNxMRenUihEvBGfoz8L74EGog9t",
"beefy": "KWAkePAS2vGHxESoMeB33Y3E18Qd8rwR1fpzBA5cAj2QU55rx"
}
],
[
"5CkxZrGeGfpQApMw6HAtBF9xiPgxoA3Ei7xZ69aRry6iGzNL",
"5CkxZrGeGfpQApMw6HAtBF9xiPgxoA3Ei7xZ69aRry6iGzNL",
{
"grandpa": "5EvP4zKAJDnj7JSomquk2pVRucYG6vvcepf6b6Hpjv95hKHf",
"babe": "5Fv73X7dtFm15hqYG338MNJ1qw351BbgjzFAh3rgXdjDFaCT",
"im_online": "5EcGLLCftCN9zGM3sB769kJfZrPDsdvrSskUubGhP8nCH6Zr",
"para_validator": "5DAgS6rUfqrVec19jTSZkMFJdQWLUT3WtnvdnHBmigYWadSk",
"para_assignment": "5HMfW3gxehXWQzTs7xLcau5jFe5448PB7BzJKzTTUNPbN6xc",
"authority_discovery": "5CrF49SzojrG99QMbSJfQAuqaC8Ui23mk8V4crWwfZ2tbA68",
"beefy": "KWBPJEgS11nKWgGiCz9W5biznEpHSkTPNgV45XNS8Y2zvEQKd"
}
],
[
"5EyVyQG5L4zY9xTrpqrH4NYFeTxz6Nv7QVi7mAKxashEDaDn",
"5EyVyQG5L4zY9xTrpqrH4NYFeTxz6Nv7QVi7mAKxashEDaDn",
{
"grandpa": "5Ddf9e2CRXeqFaJ7xqvndZwGTY3waxPXCEdYgR81gYfyMTwz",
"babe": "5DLugVPwnwTdpxcoL54UVrJy22mBWR1ojy6ft589NSm23jSB",
"im_online": "5Eh7u54DiiGH4QUj8sbkL8gDgW5vMh7SP5JFVa8CBMCQvkqi",
"para_validator": "5HontyHjLF3jQD7sqwKbKn1u3oFDPX2aoiqnQw1UGDBT1MKc",
"para_assignment": "5CSyR1g4pHHzQ7ppafUhXcg6RiqNJpsN5sbrVLnCfX9DCCUp",
"authority_discovery": "5HGaFebZR87Yz94GA52uc8eb7k9nLwEqjqdmYUAfk9SveXah",
"beefy": "KW6Zrzh4X7y1YiHFgviKAJfPgiTX6GKy4TKSRMEWuXNDhhRRb"
}
]
]
},
"session": {
"keys": [
[
"5DV3X8jaZ2pwUFnApusxSQc3hPZrbCKByvdGfLvwFqcKXRte",
"5DV3X8jaZ2pwUFnApusxSQc3hPZrbCKByvdGfLvwFqcKXRte",
{
"grandpa": "5GL8faNkBoJS6TeZANDGjo8PcPyPs5WZQ85J5uB4jqPpyvh8",
"babe": "5FNF9A2TFd8PgutZd8bdPpbR1WSZCcjtnggd9EEq3oVKVM36",
"im_online": "5EycsfQxcsFBjJ6setX8yivnceNiBoZtiQkcryvNQA9K4ULK",
"para_validator": "5DjqDw5NMmFdiafR9oVKZLasjY96jsd4sM5sdhMi8CT29vKx",
"para_assignment": "5F7Ka1qtTNVLityecYunrePHew3xCzV8HwZcrGZ9fuCS9NWv",
"authority_discovery": "5Hb3UnjMkuTWN47mKFxFfrad3gG8QzVNHogq3Nmj9drmnQPZ",
"beefy": "KW7vQVy7rsgoBKjBMSsroY7otKAjSesjexLcQjGFKisbHZT73"
}
],
[
"5Cag9DRBPYVHdpT4jTeciPeSikrFXmo6RvM7tvWTQgbtmVz8",
"5Cag9DRBPYVHdpT4jTeciPeSikrFXmo6RvM7tvWTQgbtmVz8",
{
"grandpa": "5CpyzFD8PePkdLNCpMkGSoHp5xQy4bNoga4fgSV3gik9A5gV",
"babe": "5FLny6BTcXSWMjZHgaiEbh5GPgyoTuDjqmd4PCCakKDPyYQL",
"im_online": "5HB5z5q5d2AdeT6EiQHd4KTweUr7m3KTZfvcMVJPBZfwh98v",
"para_validator": "5FTqYsXezAyeKREwBwMjrQURFMZ9VSVWLom4TNo514aD9F7A",
"para_assignment": "5HGhpDMW91xYabtKr29vUTuJqtsz1rucuEKiRz5cMUfYKVeG",
"authority_discovery": "5HKqyEHGaAo7zZYxeY5Q4Ti1B2ooXKYvvPBzjNXan3Fpz8z2",
"beefy": "KWBmGhFMDzivGY1KEqHaqL5FDPoc2oCVLk4YwTZZDJn4GQCqF"
}
],
[
"5GYgFK92vZj833faADWvFvtfQNEMKJruA6hfnQAb3Pwj9CMU",
"5GYgFK92vZj833faADWvFvtfQNEMKJruA6hfnQAb3Pwj9CMU",
{
"grandpa": "5ExhjXhUcbD6BDDS4B4EUoDkxTWxuh2eADJS9XkrRMBSfp4a",
"babe": "5EWkYHRWeLtsZ9ZZcTLt4hvsZ7vFeCyu5N8SFGvghNWN9BMX",
"im_online": "5F7YM3nbu6MpYpaLhnTr44dyvkte1T6T5ZPxznRPkL6NA5JY",
"para_validator": "5DyXfRM9Q7y9ai88iRwUL9PhGsFu1qsuXkUhV96HyN2QzPB5",
"para_assignment": "5Hp5F5ANNvzfAPrAKjMAervCzkrjBTBD1G8FosrVAtAvsA5K",
"authority_discovery": "5FjR5ZGcphJwa8ASbN4Zy7G68CBSYncMCvnzb8NKjgavRu8c",
"beefy": "KWAE8UnJYapZXwZG1TrEZ4wu1oUpH85GEQTGmaa2jpYEkCPL4"
}
],
[
"5F7EdNXunchNw4DnsSqXnhMZXLQRxuo1my2Ea86suAJYyzLE",
"5F7EdNXunchNw4DnsSqXnhMZXLQRxuo1my2Ea86suAJYyzLE",
{
"grandpa": "5G112ibbo5RpVoEZzfk925XC5ZhudgGGcVp89EtjH8p4sgSd",
"babe": "5Dqqu4PZ6CEfLmuHMq1Zh445sNoWMyGJ2koKDvViJaSNSym1",
"im_online": "5G8uMor82Z361AL26srzShBJPcZW2WeBWnyQ8zY8HeVT8iDc",
"para_validator": "5Cvs52pMzW6ygaKuy9PqBuqd486aaXEi3jGrdAvSPcBqAuMN",
"para_assignment": "5CV7RehhbrMXhRy5ULMLz1Z6K9phjAHTh7NciS32PAxcdhUS",
"authority_discovery": "5CvZfiLpvRFXnL3TnQ6q174AaKU5ZbEEApDfXqyfwTZthpxp",
"beefy": "KWDMyYTBtbn228kuRmdpyMok9LVynZwRJoU63DTVB3JX4s9Kn"
}
],
[
"5Enyc7KFiNo3cya5nrDe4iwMGxMFxcJHGqAcraKnnrEocL8T",
"5Enyc7KFiNo3cya5nrDe4iwMGxMFxcJHGqAcraKnnrEocL8T",
{
"grandpa": "5Dp77hZ1bG4kdkVa2LR44dZqCDrLDfgfRpSygZTCVrhHuFjX",
"babe": "5H3Yis5m8ikyU8nUHGYNfvvPyFtHPDb19KGTxYhweznNJHUH",
"im_online": "5D5aY6RacUAtLQPRJLNfYUogDmJxQKpuRfGSm75mFLU25cdM",
"para_validator": "5Hpvfs89hBjqEF1cXUiKZXBv4no1oC2mHw1NpQ11C6XCgMGW",
"para_assignment": "5EPXP8yv65npdoSig3ru22XXS4CYeK1W5P2pGXrTSu13CnUo",
"authority_discovery": "5HGTYBcTgosXkVGUchpPT2VYi5QEhYNbYgUdXhX1NQwpAYGD",
"beefy": "KW913N8emAEsDFNaQi24g6PCZdQXqfEXed6We9AamguwkRTgj"
}
],
[
"5HisWy38kugc3Ay4XAsrg1DAU3pJfsQhmPToY5Y726ZbunV8",
"5HisWy38kugc3Ay4XAsrg1DAU3pJfsQhmPToY5Y726ZbunV8",
{
"grandpa": "5E2BMeeNPfHoaoeGkRcwuSXmHxQKt7kkVWwzzg1EyeM9Uxsq",
"babe": "5FsX7MZEXD8PV4VMKitxHJDQHaw9aufVYDeHj9TnSZMxh19Z",
"im_online": "5GNT2rvcVbiyXoBEFCEmyuKPHCeyU7t6Z9b9P9QZZQt5zkyP",
"para_validator": "5CDkpJJQDfjwrhWG6mHMQehLLvykkqcutcU8hyv5qR5cxeAs",
"para_assignment": "5FgrEDFDrbmghpVaeg59cy5hsRk5bNpXcKBy9sCg8STa9KZ8",
"authority_discovery": "5GTFG9KW6j628acwSV9GgjNxMRenUihEvBGfoz8L74EGog9t",
"beefy": "KWAkePAS2vGHxESoMeB33Y3E18Qd8rwR1fpzBA5cAj2QU55rx"
}
],
[
"5CkxZrGeGfpQApMw6HAtBF9xiPgxoA3Ei7xZ69aRry6iGzNL",
"5CkxZrGeGfpQApMw6HAtBF9xiPgxoA3Ei7xZ69aRry6iGzNL",
{
"grandpa": "5EvP4zKAJDnj7JSomquk2pVRucYG6vvcepf6b6Hpjv95hKHf",
"babe": "5Fv73X7dtFm15hqYG338MNJ1qw351BbgjzFAh3rgXdjDFaCT",
"im_online": "5EcGLLCftCN9zGM3sB769kJfZrPDsdvrSskUubGhP8nCH6Zr",
"para_validator": "5DAgS6rUfqrVec19jTSZkMFJdQWLUT3WtnvdnHBmigYWadSk",
"para_assignment": "5HMfW3gxehXWQzTs7xLcau5jFe5448PB7BzJKzTTUNPbN6xc",
"authority_discovery": "5CrF49SzojrG99QMbSJfQAuqaC8Ui23mk8V4crWwfZ2tbA68",
"beefy": "KWBPJEgS11nKWgGiCz9W5biznEpHSkTPNgV45XNS8Y2zvEQKd"
}
],
[
"5EyVyQG5L4zY9xTrpqrH4NYFeTxz6Nv7QVi7mAKxashEDaDn",
"5EyVyQG5L4zY9xTrpqrH4NYFeTxz6Nv7QVi7mAKxashEDaDn",
{
"grandpa": "5Ddf9e2CRXeqFaJ7xqvndZwGTY3waxPXCEdYgR81gYfyMTwz",
"babe": "5DLugVPwnwTdpxcoL54UVrJy22mBWR1ojy6ft589NSm23jSB",
"im_online": "5Eh7u54DiiGH4QUj8sbkL8gDgW5vMh7SP5JFVa8CBMCQvkqi",
"para_validator": "5HontyHjLF3jQD7sqwKbKn1u3oFDPX2aoiqnQw1UGDBT1MKc",
"para_assignment": "5CSyR1g4pHHzQ7ppafUhXcg6RiqNJpsN5sbrVLnCfX9DCCUp",
"authority_discovery": "5HGaFebZR87Yz94GA52uc8eb7k9nLwEqjqdmYUAfk9SveXah",
"beefy": "KW6Zrzh4X7y1YiHFgviKAJfPgiTX6GKy4TKSRMEWuXNDhhRRb"
}
]
]
},
"configuration": {
"config": {
"scheduling_lookahead": 2,
"async_backing_params": {
"max_candidate_depth": 3,
"allowed_ancestry_len": 2
}
}
}
}
}
}