Skip to content

Commit 76d206a

Browse files
committed
tmpl recipe: split demo out and mv ext recipes dir
1 parent eec4bdc commit 76d206a

File tree

5 files changed

+411
-259
lines changed

5 files changed

+411
-259
lines changed

templates/cardano-parts-project/Justfile

Lines changed: 4 additions & 259 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import? 'scripts/recipes-aws.just'
2-
import? 'scripts/recipes-custom.just'
3-
import? 'scripts/recipes-governance.just'
1+
import? 'scripts/recipes/aws.just'
2+
import? 'scripts/recipes/demo.just'
3+
import? 'scripts/recipes/custom.just'
4+
import? 'scripts/recipes/governance.just'
45

56
set shell := ["bash", "-uc"]
67
set positional-arguments
@@ -894,262 +895,6 @@ ssh-list-names PATTERN:
894895
| get Host
895896
| str join " "
896897

897-
# Start a fork to conway demo
898-
start-demo:
899-
#!/usr/bin/env bash
900-
set -euo pipefail
901-
just stop-node demo
902-
903-
{{stateDir}}
904-
905-
echo "Cleaning state-demo..."
906-
if [ -d state-demo ]; then
907-
chmod -R +w state-demo
908-
rm -rf state-demo
909-
fi
910-
911-
echo "Generating state-demo config..."
912-
913-
export ENV=custom
914-
export GENESIS_DIR=state-demo
915-
export KEY_DIR=state-demo/envs/custom
916-
export DATA_DIR=state-demo/rundir
917-
918-
export CARDANO_NODE_SOCKET_PATH="$STATEDIR/node-demo.socket"
919-
export TESTNET_MAGIC=42
920-
921-
export NUM_GENESIS_KEYS=3
922-
export POOL_NAMES="sp-1 sp-2 sp-3"
923-
export STAKE_POOL_DIR=state-demo/groups/stake-pools
924-
925-
export BULK_CREDS=state-demo/bulk.creds.all.json
926-
export PAYMENT_KEY=state-demo/envs/custom/utxo-keys/rich-utxo
927-
928-
export UNSTABLE=true
929-
export UNSTABLE_LIB=true
930-
export USE_ENCRYPTION=true
931-
export USE_DECRYPTION=true
932-
export USE_NODE_CONFIG_BP=false
933-
export DEBUG=true
934-
935-
export SECURITY_PARAM=8
936-
export SLOT_LENGTH=100
937-
export START_TIME=$(date --utc +"%Y-%m-%dT%H:%M:%SZ" --date " now + 30 seconds")
938-
939-
if [ "${USE_CREATE_TESTNET_DATA:-false}" = true ]; then
940-
ERA_CMD="conway" \
941-
nix run .#job-gen-custom-node-config-data
942-
else
943-
ERA_CMD="alonzo" \
944-
nix run .#job-gen-custom-node-config
945-
fi
946-
947-
ERA_CMD="alonzo" \
948-
nix run .#job-create-stake-pool-keys
949-
950-
if [ "$USE_DECRYPTION" = true ]; then
951-
BFT_CREDS=$(just sops-decrypt-binary "$KEY_DIR"/delegate-keys/bulk.creds.bft.json)
952-
POOL_CREDS=$(just sops-decrypt-binary "$STAKE_POOL_DIR"/no-deploy/bulk.creds.pools.json)
953-
else
954-
BFT_CREDS=$(cat "$KEY_DIR"/delegate-keys/bulk.creds.bft.json)
955-
POOL_CREDS=$(cat "$STAKE_POOL_DIR"/no-deploy/bulk.creds.pools.json)
956-
fi
957-
(
958-
jq -r '.[]' <<< "$BFT_CREDS"
959-
jq -r '.[]' <<< "$POOL_CREDS"
960-
) | jq -s > "$BULK_CREDS"
961-
962-
echo "Start cardano-node in the background. Run \"just stop-node demo\" to stop"
963-
NODE_CONFIG="$DATA_DIR/node-config.json" \
964-
NODE_TOPOLOGY="$DATA_DIR/topology.json" \
965-
SOCKET_PATH="$STATEDIR/node-demo.socket" \
966-
nohup setsid nix run .#run-cardano-node &> "$STATEDIR/node-demo.log" & echo $! > "$STATEDIR/node-demo.pid" &
967-
just set-default-cardano-env demo "" "$PPID"
968-
echo "Sleeping 30 seconds until $(date -d @$(($(date +%s) + 30)))"
969-
sleep 30
970-
echo
971-
972-
if [ "${USE_CREATE_TESTNET_DATA:-false}" = false ]; then
973-
echo "Moving genesis utxo in epoch 0..."
974-
BYRON_SIGNING_KEY="$KEY_DIR"/utxo-keys/shelley.000.skey \
975-
ERA_CMD="alonzo" \
976-
nix run .#job-move-genesis-utxo
977-
echo "Sleeping 10 seconds until $(date -d @$(($(date +%s) + 10)))"
978-
sleep 10
979-
echo
980-
fi
981-
982-
echo "Registering stake pools in epoch 0..."
983-
POOL_RELAY=demo.local \
984-
POOL_RELAY_PORT=3001 \
985-
ERA_CMD="alonzo" \
986-
nix run .#job-register-stake-pools
987-
echo "Sleeping 10 seconds until $(date -d @$(($(date +%s) + 10)))"
988-
sleep 10
989-
echo
990-
991-
WAIT_FOR_TIP() {
992-
TYPE="$1"
993-
TARGET="$2"
994-
EPOCH="$1"
995-
996-
while true; do
997-
[ "$(jq -re ".$TYPE" <<< "$(just query-tip demo)")" = "$TARGET" ] && break;
998-
sleep 2
999-
done
1000-
}
1001-
1002-
echo "Delegating rewards stake key in epoch 0..."
1003-
ERA_CMD="alonzo" \
1004-
nix run .#job-delegate-rewards-stake-key
1005-
echo "Sleeping until epoch 1"
1006-
WAIT_FOR_TIP "epoch" "1"
1007-
echo
1008-
1009-
echo "Forking to babbage in epoch 1..."
1010-
just query-tip demo
1011-
MAJOR_VERSION=7 \
1012-
ERA_CMD="alonzo" \
1013-
nix run .#job-update-proposal-hard-fork
1014-
echo "Sleeping until babbage"
1015-
WAIT_FOR_TIP "era" "Babbage"
1016-
echo
1017-
1018-
echo "Forking to babbage (intra-era) in epoch 2..."
1019-
just query-tip demo
1020-
MAJOR_VERSION=8 \
1021-
ERA_CMD="babbage" \
1022-
nix run .#job-update-proposal-hard-fork
1023-
echo "Sleeping until epoch 3"
1024-
WAIT_FOR_TIP "epoch" "3"
1025-
echo
1026-
1027-
echo "Forking to conway in epoch 3..."
1028-
just query-tip demo
1029-
MAJOR_VERSION=9 \
1030-
ERA_CMD="babbage" \
1031-
nix run .#job-update-proposal-hard-fork
1032-
echo "Sleeping until epoch conway"
1033-
WAIT_FOR_TIP "era" "Conway"
1034-
echo
1035-
1036-
just query-tip demo
1037-
echo
1038-
echo "Finished sequence..."
1039-
echo
1040-
1041-
# Start a fork to conway demo using create-testnet-data-ng job
1042-
start-demo-ng:
1043-
#!/usr/bin/env bash
1044-
set -euo pipefail
1045-
just stop-node demo
1046-
1047-
{{stateDir}}
1048-
1049-
echo "Cleaning state-demo-ng..."
1050-
if [ -d state-demo-ng ]; then
1051-
chmod -R +w state-demo-ng
1052-
rm -rf state-demo-ng
1053-
fi
1054-
1055-
echo "Generating state-demo-ng config..."
1056-
1057-
export ENV=custom
1058-
export GENESIS_DIR=state-demo-ng
1059-
export KEY_DIR=state-demo-ng/envs/custom
1060-
export DATA_DIR=state-demo-ng/rundir
1061-
1062-
export CARDANO_NODE_SOCKET_PATH="$STATEDIR/node-demo.socket"
1063-
export TESTNET_MAGIC=42
1064-
1065-
export NUM_GENESIS_KEYS=3
1066-
export POOL_NAMES="sp-1 sp-2 sp-3"
1067-
export STAKE_POOL_DIR=state-demo-ng/groups/stake-pools
1068-
1069-
export BULK_CREDS=state-demo-ng/bulk.creds.all.json
1070-
export PAYMENT_KEY=state-demo-ng/envs/custom/utxo-keys/rich-utxo
1071-
1072-
export UNSTABLE=true
1073-
export UNSTABLE_LIB=true
1074-
export USE_ENCRYPTION=true
1075-
export USE_DECRYPTION=true
1076-
export USE_NODE_CONFIG_BP=false
1077-
export USE_CREATE_TESTNET_DATA=true
1078-
export DEBUG=true
1079-
1080-
export SECURITY_PARAM=8
1081-
export SLOT_LENGTH=100
1082-
export START_TIME=$(date --utc +"%Y-%m-%dT%H:%M:%SZ" --date " now + 30 seconds")
1083-
1084-
export ERA_CMD=conway
1085-
1086-
nix run .#job-gen-custom-node-config-data-ng
1087-
1088-
nix run .#job-create-stake-pool-keys
1089-
1090-
if [ "$USE_DECRYPTION" = true ]; then
1091-
BOOTSTRAP_CREDS=$(just sops-decrypt-binary "$KEY_DIR"/bootstrap-pool/bulk.creds.bootstrap.json)
1092-
POOL_CREDS=$(just sops-decrypt-binary "$STAKE_POOL_DIR"/no-deploy/bulk.creds.pools.json)
1093-
else
1094-
BOOTSTRAP_CREDS=$(cat "$KEY_DIR"/bootstrap-pool/bulk.creds.bootstrap.json)
1095-
POOL_CREDS=$(cat "$STAKE_POOL_DIR"/no-deploy/bulk.creds.pools.json)
1096-
fi
1097-
(
1098-
jq -r '.[]' <<< "$BOOTSTRAP_CREDS"
1099-
jq -r '.[]' <<< "$POOL_CREDS"
1100-
) | jq -s > "$BULK_CREDS"
1101-
1102-
echo "Start cardano-node in the background. Run \"just stop-node demo\" to stop"
1103-
NODE_CONFIG="$DATA_DIR/node-config.json" \
1104-
NODE_TOPOLOGY="$DATA_DIR/topology.json" \
1105-
SOCKET_PATH="$STATEDIR/node-demo.socket" \
1106-
nohup setsid nix run .#run-cardano-node &> "$STATEDIR/node-demo.log" & echo $! > "$STATEDIR/node-demo.pid" &
1107-
just set-default-cardano-env demo "" "$PPID"
1108-
echo "Sleeping 30 seconds until $(date -d @$(($(date +%s) + 30)))"
1109-
sleep 30
1110-
echo
1111-
1112-
echo "Registering stake pools..."
1113-
POOL_RELAY=demo-ng.local \
1114-
POOL_RELAY_PORT=3001 \
1115-
nix run .#job-register-stake-pools
1116-
echo "Sleeping 10 seconds until $(date -d @$(($(date +%s) + 7)))"
1117-
sleep 10
1118-
echo
1119-
1120-
echo "Delegating rewards stake key..."
1121-
nix run .#job-delegate-rewards-stake-key
1122-
echo "Sleeping 10 seconds until $(date -d @$(($(date +%s) + 7)))"
1123-
sleep 10
1124-
echo
1125-
1126-
echo "Retiring the bootstrap pool..."
1127-
BOOTSTRAP_POOL_DIR="$KEY_DIR/bootstrap-pool" \
1128-
RICH_KEY="$KEY_DIR/utxo-keys/rich-utxo" \
1129-
nix run .#job-retire-bootstrap-pool
1130-
sleep 10
1131-
echo
1132-
1133-
WAIT_FOR_TIP() {
1134-
TYPE="$1"
1135-
TARGET="$2"
1136-
EPOCH="$1"
1137-
1138-
while true; do
1139-
[ "$(jq -re ".$TYPE" <<< "$(just query-tip demo)")" = "$TARGET" ] && break;
1140-
sleep 2
1141-
done
1142-
}
1143-
1144-
echo "Sleeping until epoch 1 when the bootstrap pool retires"
1145-
WAIT_FOR_TIP "epoch" "1"
1146-
echo
1147-
1148-
just query-tip demo
1149-
echo
1150-
echo "Finished sequence..."
1151-
echo
1152-
1153898
# Start a local node for a specific env
1154899
start-node ENV:
1155900
#!/usr/bin/env bash

0 commit comments

Comments
 (0)