|
2 | 2 |
|
3 | 3 | set -e
|
4 | 4 |
|
5 |
| -echo "*** Building node..." |
6 |
| -cargo build -p node-subtensor |
7 |
| - |
8 |
| -echo "*** Building new chainspecs..." |
| 5 | +raw_finney="chainspecs/raw_spec_finney.json" |
| 6 | +raw_testfinney="chainspecs/raw_spec_testfinney.json" |
| 7 | +plain_finney="chainspecs/plain_spec_finney.json" |
| 8 | +plain_testfinney="chainspecs/plain_spec_testfinney.json" |
9 | 9 |
|
10 | 10 | finney_genesis_temp=$(mktemp)
|
11 | 11 | testfinney_genesis_temp=$(mktemp)
|
12 | 12 | raw_spec_finney_temp=$(mktemp)
|
13 | 13 | raw_spec_testfinney_temp=$(mktemp)
|
14 | 14 |
|
| 15 | +save_genesis() { |
| 16 | + jq -r ".genesis" "$1" >"$2" |
| 17 | +} |
| 18 | + |
| 19 | +buildspec() { |
| 20 | + local chain="$1" |
| 21 | + shift |
| 22 | + ./target/debug/node-subtensor build-spec --chain "$chain" "$@" |
| 23 | +} |
| 24 | + |
| 25 | +# Update genesis in new chainspecs using the extracted genesis data from the |
| 26 | +# temporary files |
| 27 | +update_genesis() { |
| 28 | + jq --slurpfile genesis "$1" '.genesis = $genesis[0]' "$2" >"$3" |
| 29 | +} |
| 30 | + |
| 31 | +cleanup() { |
| 32 | + rm -f "$finney_genesis_temp" \ |
| 33 | + "$testfinney_genesis_temp" \ |
| 34 | + "$raw_spec_finney_temp" \ |
| 35 | + "$raw_spec_testfinney_temp" |
| 36 | +} |
| 37 | + |
| 38 | +# SCRIPT |
| 39 | + |
| 40 | +echo "*** Building new chainspecs..." |
| 41 | + |
| 42 | +echo "*** Building node..." |
| 43 | +cargo build -p node-subtensor |
| 44 | + |
15 | 45 | # Save old genesis state before doing anything
|
16 |
| -jq -r ".genesis" raw_spec_finney.json >"$finney_genesis_temp" |
17 |
| -jq -r ".genesis" raw_spec_testfinney.json >"$testfinney_genesis_temp" |
| 46 | +save_genesis "$raw_finney" "$finney_genesis_temp" |
| 47 | +save_genesis "$raw_testfinney" "$testfinney_genesis_temp" |
18 | 48 |
|
19 | 49 | # Build new chainspecs
|
20 |
| -./target/debug/node-subtensor build-spec --raw --chain finney >"$raw_spec_finney_temp" |
21 |
| -./target/debug/node-subtensor build-spec --chain finney >plain_spec_finney.json |
| 50 | +buildspec finney --raw >"$raw_spec_finney_temp" |
| 51 | +buildspec finney >"$plain_finney" |
22 | 52 |
|
23 |
| -./target/debug/node-subtensor build-spec --raw --chain test_finney >"$raw_spec_testfinney_temp" |
24 |
| -./target/debug/node-subtensor build-spec --chain test_finney >plain_spec_testfinney.json |
| 53 | +buildspec test_finney --raw >"$raw_spec_testfinney_temp" |
| 54 | +buildspec test_finney >"$plain_testfinney" |
25 | 55 |
|
26 | 56 | echo "*** Updating genesis..."
|
27 | 57 |
|
28 |
| -# The genesis is not allowed to change. Since the wasm genesis will change depending on the system |
29 |
| -# architecture used, we need to extract the genesis from the old chain specs and insert them into |
30 |
| -# the new chain specs to ensure there are no genesis mismatch issues. |
31 |
| - |
32 |
| -# Update genesis in new chainspecs using the extracted genesis data from the temporary files |
33 |
| -jq --slurpfile genesis "$finney_genesis_temp" '.genesis = $genesis[0]' "$raw_spec_finney_temp" >raw_spec_finney.json |
34 |
| -jq --slurpfile genesis "$testfinney_genesis_temp" '.genesis = $genesis[0]' "$raw_spec_testfinney_temp" >raw_spec_testfinney.json |
| 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" |
35 | 65 |
|
36 |
| -# Cleanup |
37 |
| -rm -f "$finney_genesis_temp" "$testfinney_genesis_temp" "$raw_spec_finney_temp" "$raw_spec_testfinney_temp" |
| 66 | +cleanup |
38 | 67 |
|
39 | 68 | echo "*** Done!"
|
0 commit comments