laconicd-stack/scripts/genesis.sh

29 lines
942 B
Bash
Executable File

#!/bin/bash
# Exit on error
set -e
set -u
# Note: Needs to be run in a docker container with image cerc/laconicd:local
CHAINID=${CHAINID:-"laconic-mainnet"}
MONIKER=${MONIKER:-"mainnet-node"}
NODE_HOME="/root/.laconicd"
testnet_state_file="$NODE_HOME/testnet-state.json"
mainnet_genesis_file="$NODE_HOME/config/genesis.json"
laconicd config set client chain-id $CHAINID
laconicd init $MONIKER --chain-id $CHAINID --default-denom alnt
# Import required state
jq --slurpfile nested $testnet_state_file '.app_state.auth = $nested[0].app_state' "$mainnet_genesis_file" > tmp.$$.json && mv tmp.$$.json "$mainnet_genesis_file"
jq --slurpfile nested $testnet_state_file '.consensus.auth = $nested[0].consensus' "$mainnet_genesis_file" > tmp.$$.json && mv tmp.$$.json "$mainnet_genesis_file"
# Update any module params if required here
# TODO: Perform alps allocations
# Ensure that resulting genesis file is valid
laconicd genesis validate