@@ -41,15 +41,16 @@ NUM_POOL_NODES=$3
41
41
SLOT_LENGTH=$4
42
42
EPOCH_LENGTH=$5
43
43
44
- SUPPLY=10000000000
44
+ SUPPLY=100000000000
45
45
NETWORK_MAGIC=42
46
46
SECURITY_PARAM=2
47
47
48
48
NODE_PORT_START=3000
49
49
NODE_ADDR_PREFIX=" 172.16.238"
50
50
NODE_ADDR_INCREMENT=10
51
- CARDANO_BINARY_URL=" https://update-cardano-mainnet.iohk.io/cardano-node-releases/cardano-node-1.35.7 -linux.tar.gz"
51
+ CARDANO_BINARY_URL=" https://update-cardano-mainnet.iohk.io/cardano-node-releases/cardano-node-8.0.0 -linux.tar.gz"
52
52
ALONZO_GENESIS_URL=" https://book.world.dev.cardano.org/environments/private/alonzo-genesis.json"
53
+ CONWAY_GENESIS_URL=" https://book.world.dev.cardano.org/environments/private/conway-genesis.json"
53
54
54
55
GENESIS_VERIFICATION_KEY=5b33322c3235332c3138362c3230312c3137372c31312c3131372c3133352c3138372c3136372c3138312c3138382c32322c35392c3230362c3130352c3233312c3135302c3231352c33302c37382c3231322c37362c31362c3235322c3138302c37322c3133342c3133372c3234372c3136312c36385d
55
56
GENESIS_SECRET_KEY=5b3131382c3138342c3232342c3137332c3136302c3234312c36312c3134342c36342c39332c3130362c3232392c38332c3133342c3138392c34302c3138392c3231302c32352c3138342c3136302c3134312c3233372c32362c3136382c35342c3233392c3230342c3133392c3131392c31332c3139395d
@@ -121,10 +122,11 @@ sed -i ${ROOT}/configuration.yaml \
121
122
-e ' s/TracingVerbosity: NormalVerbosity/TracingVerbosity: MinimalVerbosity/' \
122
123
-e ' s/TurnOnLogMetrics: True/TurnOnLogMetrics: False/' \
123
124
-e ' s|GenesisFile: genesis.json|ByronGenesisFile: byron/genesis.json|' \
125
+ -e ' /ByronGenesisFile/ aConwayGenesisFile: shelley/genesis.conway.json' \
124
126
-e ' /ByronGenesisFile/ aAlonzoGenesisFile: shelley/genesis.alonzo.json' \
125
127
-e ' /ByronGenesisFile/ aShelleyGenesisFile: shelley/genesis.json' \
126
128
-e ' s/RequiresNoMagic/RequiresMagic/' \
127
- -e ' s/LastKnownBlockVersion-Major: 0/LastKnownBlockVersion-Major: 5 /' \
129
+ -e ' s/LastKnownBlockVersion-Major: 0/LastKnownBlockVersion-Major: 8 /' \
128
130
-e ' s/LastKnownBlockVersion-Minor: 2/LastKnownBlockVersion-Minor: 0/' \
129
131
-e ' s/LastKnownBlockVersion-Alt: 0/LastKnownBlockVersion-Alt: 0/'
130
132
# Options for making it easier to trigger the transition to Shelley
@@ -139,8 +141,8 @@ echo "TestShelleyHardForkAtEpoch: 0" >> ${ROOT}/configuration.yaml
139
141
echo " TestAllegraHardForkAtEpoch: 0" >> ${ROOT} /configuration.yaml
140
142
echo " TestMaryHardForkAtEpoch: 0" >> ${ROOT} /configuration.yaml
141
143
echo " TestAlonzoHardForkAtEpoch: 0" >> ${ROOT} /configuration.yaml
142
- echo " TestEnableDevelopmentHardForkEras : True" >> ${ROOT} /configuration.yaml
143
- echo " TestEnableDevelopmentNetworkProtocols : True" >> ${ROOT} /configuration.yaml
144
+ echo " ExperimentalHardForksEnabled : True" >> ${ROOT} /configuration.yaml
145
+ echo " ExperimentalProtocolsEnabled : True" >> ${ROOT} /configuration.yaml
144
146
145
147
# uncomment this to trigger the hardfork with protocol version 1
146
148
# echo "TestShelleyHardForkAtVersion: 1" >> ${ROOT}/configuration.yaml
@@ -317,7 +319,9 @@ echo "====================================================================="
317
319
# Shelley era. Set up our template
318
320
mkdir shelley
319
321
curl -s ${ALONZO_GENESIS_URL} -o shelley/genesis.alonzo.spec.json
322
+ curl -s ${CONWAY_GENESIS_URL} -o shelley/genesis.conway.spec.json
320
323
./cardano-cli genesis create --testnet-magic ${NETWORK_MAGIC} --genesis-dir shelley --start-time $( date -u +%Y-%m-%dT%H:%M:%SZ)
324
+ mv shelley/genesis.spec.json shelley/genesis.spec.json.tmp && cat shelley/genesis.spec.json.tmp | jq . > shelley/genesis.spec.json && rm shelley/genesis.spec.json.tmp
321
325
322
326
# Then edit the genesis.spec.json ...
323
327
602
606
cat >> activate.sh << EOF
603
607
echo ">> Wait for Cardano pools to be activated"
604
608
POOLS_ACTIVATION_WAIT_ROUND_DELAY=2
605
- POOLS_ACTIVATION_WAIT_ROUNDS_MAX=\$ (echo "scale=0; 3 * $EPOCH_LENGTH * $SLOT_LENGTH / \$ POOLS_ACTIVATION_WAIT_ROUND_DELAY" | bc)
609
+ POOLS_ACTIVATION_WAIT_ROUNDS_MAX=\$ (echo "scale=0; 5 * $EPOCH_LENGTH * $SLOT_LENGTH / \$ POOLS_ACTIVATION_WAIT_ROUND_DELAY" | bc)
606
610
POOLS_ACTIVATION_WAIT_ROUNDS=1
607
611
POOL_STAKE_RETRIEVAL_WAIT_ROUND_DELAY=2
608
612
POOL_STAKE_RETRIEVAL_WAIT_ROUNDS_MAX=\$ POOLS_ACTIVATION_WAIT_ROUNDS_MAX
619
623
do
620
624
POOL_STAKE_PREVIOUS_EPOCH=\$ (CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli query stake-snapshot \\
621
625
--stake-pool-id \$ POOL_ID \\
622
- --testnet-magic ${NETWORK_MAGIC} | jq .poolStakeMark )
626
+ --testnet-magic ${NETWORK_MAGIC} | jq '.pools | values | flatten | .[0].stakeMark' )
623
627
if [ "\$ POOL_STAKE_PREVIOUS_EPOCH" != "0" ] ; then
624
628
break
625
629
else
@@ -759,7 +763,7 @@ CARDANO_NODE_SOCKET_PATH=node-bft1/ipc/node.sock ./cardano-cli query stake-pools
759
763
echo
760
764
761
765
echo ">> Query stake distribution"
762
- CARDANO_NODE_SOCKET_PATH=node-bft1/ipc/node.sock ./cardano-cli query stake-distribution \\
766
+ CARDANO_NODE_SOCKET_PATH=node-bft1/ipc/node.sock ./cardano-cli query stake-snapshot --all-stake-pools \\
763
767
--cardano-mode \\
764
768
--testnet-magic ${NETWORK_MAGIC}
765
769
echo
@@ -1130,7 +1134,7 @@ cat >> start-cardano.sh <<EOF
1130
1134
#!/usr/bin/env bash
1131
1135
1132
1136
echo ">> Start Cardano network"
1133
- killall cardano-node 2>&1 /dev/null
1137
+ killall cardano-node > /dev/null 2>&1
1134
1138
./cardano-cli --version
1135
1139
./cardano-node --version
1136
1140
@@ -1216,7 +1220,36 @@ done
1216
1220
1217
1221
echo ">> Activate Cardano pools"
1218
1222
./activate.sh ${ROOT}
1223
+
1219
1224
EOF
1225
+
1226
+ cat >> start-cardano.sh << EOF
1227
+ echo ">> Wait for Cardano nodes to have enough immutable files"
1228
+ for NODE in ${ALL_NODES} ; do
1229
+ echo ">> Wait for \$ {NODE} to have enough immutable files"
1230
+ NODE_ACTIVATION_WAIT_ROUNDS_MAX=100
1231
+ NODE_ACTIVATION_WAIT_ROUNDS=1
1232
+ NODE_ACTIVATION_WAIT_ROUND_DELAY=2
1233
+ while true
1234
+ do
1235
+ TOTAL_IMMUTABLE_FILES=\$ (ls -1q \$ {NODE}/db/immutable | grep ".chunk" | wc -l)
1236
+ if [ "\$ TOTAL_IMMUTABLE_FILES" -gt "1" ] ; then
1237
+ echo ">>>> \$ {NODE} has enough immutable files!"
1238
+ break
1239
+ else
1240
+ echo ">>>> \$ {NODE} has not enough immutable files yet... [attempt \$ NODE_ACTIVATION_WAIT_ROUNDS]"
1241
+ sleep \$ NODE_ACTIVATION_WAIT_ROUND_DELAY
1242
+ fi
1243
+ NODE_ACTIVATION_WAIT_ROUNDS=\$ (( \$ NODE_ACTIVATION_WAIT_ROUNDS + 1 ))
1244
+ if [ "\$ NODE_ACTIVATION_WAIT_ROUNDS" -gt "\$ NODE_ACTIVATION_WAIT_ROUNDS_MAX" ] ; then
1245
+ echo ">>>> Timeout: \$ {NODE} has not enough immutable files within \$ NODE_ACTIVATION_WAIT_ROUNDS_MAX attempts"
1246
+ exit 1
1247
+ fi
1248
+ done
1249
+ done
1250
+
1251
+ EOF
1252
+
1220
1253
chmod u+x start-cardano.sh
1221
1254
1222
1255
cat >> start-mithril.sh << EOF
0 commit comments