Skip to content

Commit 4640bf8

Browse files
committed
Fix build_all_chainspecs rewrite plain specs genesis
1 parent f771a45 commit 4640bf8

File tree

1 file changed

+37
-33
lines changed

1 file changed

+37
-33
lines changed

scripts/build_all_chainspecs.sh

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
#!/bin/bash
22

3+
# The genesis is not allowed to change. Since the wasm genesis will change
4+
# depending on the system architecture used, we need to extract the genesis from
5+
# the old chain specs and insert them into the new chain specs to ensure there
6+
# are no genesis mismatch issues.
7+
8+
# This script updates the chain spec files keeping the genesis unchanged.
9+
310
set -e
411

512
raw_finney="chainspecs/raw_spec_finney.json"
6-
raw_testfinney="chainspecs/raw_spec_testfinney.json"
713
plain_finney="chainspecs/plain_spec_finney.json"
14+
raw_testfinney="chainspecs/raw_spec_testfinney.json"
815
plain_testfinney="chainspecs/plain_spec_testfinney.json"
916

10-
finney_genesis_temp=$(mktemp)
11-
testfinney_genesis_temp=$(mktemp)
12-
raw_spec_finney_temp=$(mktemp)
13-
raw_spec_testfinney_temp=$(mktemp)
14-
1517
save_genesis() {
1618
jq -r ".genesis" "$1" >"$2"
1719
}
@@ -28,41 +30,43 @@ update_genesis() {
2830
jq --slurpfile genesis "$1" '.genesis = $genesis[0]' "$2" >"$3"
2931
}
3032

31-
cleanup() {
32-
rm -f "$finney_genesis_temp" \
33-
"$testfinney_genesis_temp" \
34-
"$raw_spec_finney_temp" \
35-
"$raw_spec_testfinney_temp"
36-
}
33+
update_spec() {
34+
local chain="$1"
35+
local raw_path="$2"
36+
local plain_path="$3"
3737

38-
# SCRIPT
38+
raw_genesis_temp=$(mktemp)
39+
plain_genesis_temp=$(mktemp)
40+
raw_spec_temp=$(mktemp)
41+
plain_spec_temp=$(mktemp)
3942

40-
echo "*** Building new chainspecs..."
43+
echo "*** Backing up genesis for '$chain'..."
4144

42-
echo "*** Building node..."
43-
cargo build -p node-subtensor
45+
save_genesis "$raw_path" "$raw_genesis_temp"
46+
save_genesis "$plain_path" "$plain_genesis_temp"
4447

45-
# Save old genesis state before doing anything
46-
save_genesis "$raw_finney" "$finney_genesis_temp"
47-
save_genesis "$raw_testfinney" "$testfinney_genesis_temp"
48+
echo "*** Building new chainspec for '$chain'..."
4849

49-
# Build new chainspecs
50-
buildspec finney --raw >"$raw_spec_finney_temp"
51-
buildspec finney >"$plain_finney"
50+
# Build new chainspecs
51+
buildspec "$chain" >"$plain_spec_temp"
52+
buildspec "$chain" --raw >"$raw_spec_temp"
5253

53-
buildspec test_finney --raw >"$raw_spec_testfinney_temp"
54-
buildspec test_finney >"$plain_testfinney"
54+
echo "*** Restoring genesis in '$chain'..."
5555

56-
echo "*** Updating genesis..."
56+
update_genesis "$raw_genesis_temp" "$raw_spec_temp" "$raw_path"
57+
update_genesis "$plain_genesis_temp" "$plain_spec_temp" "$plain_path"
5758

58-
# The genesis is not allowed to change. Since the wasm genesis will change
59-
# depending on the system architecture used, we need to extract the genesis from
60-
# the old chain specs and insert them into the new chain specs to ensure there
61-
# are no genesis mismatch issues.
62-
update_genesis "$finney_genesis_temp" "$raw_spec_finney_temp" "$raw_finney"
63-
update_genesis "$testfinney_genesis_temp" "$raw_spec_testfinney_temp" \
64-
"$raw_testfinney"
59+
# cleanup
60+
rm -f "$raw_genesis_temp" "$plain_genesis_temp" "$raw_spec_temp" \
61+
"$plain_spec_temp"
62+
}
63+
64+
# SCRIPT
65+
66+
echo "*** Building node..."
67+
cargo build -p node-subtensor
6568

66-
cleanup
69+
update_spec finney "$raw_finney" "$plain_finney"
70+
update_spec test_finney "$raw_testfinney" "$plain_testfinney"
6771

6872
echo "*** Done!"

0 commit comments

Comments
 (0)