From b3ebd324991da59b6bbbbd09d07d5325e052e4af Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Wed, 14 May 2025 11:05:44 +0530 Subject: [PATCH] Add a script to export testnet state --- scripts/export-testnet-state.sh | 28 ++++++++++++++++++++++++++++ scripts/generate-mainnet-genesis.sh | 16 ++++------------ 2 files changed, 32 insertions(+), 12 deletions(-) create mode 100755 scripts/export-testnet-state.sh diff --git a/scripts/export-testnet-state.sh b/scripts/export-testnet-state.sh new file mode 100755 index 0000000..81812a9 --- /dev/null +++ b/scripts/export-testnet-state.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Note: Needs to be run in a docker container with image testnet cerc/laconicd:local + +# Exit on error +set -e +set -u + +# Check args +if [ "$#" -ne 1 ]; then + echo "Usage: $0 " + exit 1 +fi + +TESTNET_DEPLOYMENT_DIR="$1" + +# Create a temporary target directory +OUTPUT_DIR=${TESTNET_DEPLOYMENT_DIR}/export +mkdir -p $OUTPUT_DIR + +# Export state from testnet chain +testnet_state_file="$OUTPUT_DIR/testnet-state.json" +docker run -it \ + -v ${TESTNET_DEPLOYMENT_DIR}/data/laconicd-data:/root/testnet-deployment/.laconicd \ + cerc/laconicd:local bash -c "laconicd export --home /root/testnet-deployment/.laconicd" \ + | jq .app_state.onboarding > "$testnet_state_file" + +echo "Exported state from testnet to $testnet_state_file" diff --git a/scripts/generate-mainnet-genesis.sh b/scripts/generate-mainnet-genesis.sh index d9c6e7f..ae249fe 100755 --- a/scripts/generate-mainnet-genesis.sh +++ b/scripts/generate-mainnet-genesis.sh @@ -6,11 +6,11 @@ set -u # Check args if [ "$#" -ne 1 ]; then - echo "Usage: $0 " + echo "Usage: $0 " exit 1 fi -TESTNET_DEPLOYMENT_DIR="$1" +TESTNET_STATE_FILE="$1" MAINNET_GENESIS_DIR=mainnet-genesis # Create a temporary target directory @@ -18,16 +18,8 @@ mkdir -p $MAINNET_GENESIS_DIR # -------- -# Export state from testnet chain -# Use cerc/laconicd-testnet:local image for testnet laconicd build - -testnet_state_file="$MAINNET_GENESIS_DIR/testnet-state.json" -docker run -it \ - -v ${TESTNET_DEPLOYMENT_DIR}/data/laconicd-data:/root/testnet-deployment/.laconicd \ - cerc/laconicd-testnet:local bash -c "laconicd export --home /root/testnet-deployment/.laconicd" \ - | jq .app_state.onboarding > "$testnet_state_file" - -echo "Exported state from testnet" +# Copy testnet state file to required dir +cp $TESTNET_STATE_FILE $MAINNET_GENESIS_DIR/testnet-state.json # --------