wormhole/wormchain/devnet/create-config.sh

57 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
if [ -z "${NUM_GUARDIANS}" ]; then
echo "Error: NUM_GUARDIANS is unset, cannot create wormchain config."
exit 1
fi
# Get the hostname
hostname=$(hostname)
# # for local development/debugging, set the hostname as it would be in a devnet container
# if [ ! -z "${INST}" ]; then
# hostname="wormchain-$INST"
# echo "set hostname with INST value: $hostname"
# fi
# Check if the hostname starts with "wormchain-"
if [[ ! $hostname =~ ^wormchain- ]]; then
# If the hostname does not start with "wormchain-", print an error message and exit
echo "Error: hostname does not start with 'wormchain-'"
exit 1
fi
# Split the hostname on "-"
instance=$(echo $hostname | cut -d'-' -f2)
# get the context of this script call, so it can be prepended to file paths,
# so this script will work in the tilt docker container, and when run locally.
pwd=$(pwd)
# config dir path for the instance, which is passed to wormchaind via --home
home_path="$pwd/devnet/$hostname"
# copy config from devnet/base
cp -r $pwd/devnet/base/* ${home_path}/
# update the moniker
sed -i "s/moniker = \"wormchain\"/moniker = \"$hostname\"/g" ${home_path}/config/config.toml
# set the external address so wormchain peers can resolve each other
sed -i "s/external_address = \"\"/external_address = \"${hostname}:26656\"/g" ${home_path}/config/config.toml
if [ $instance -eq 0 ] && [ $NUM_GUARDIANS -ge 2 ]; then
echo "$hostname: enabling seed mode in config.toml."
sed -i "s/seed_mode = false/seed_mode = true/g" ${home_path}/config/config.toml
elif [ $instance -ge 1 ]; then
echo "$hostname: adding seed address to config.toml."
sed -i "s/seeds = \"\"/seeds = \"90ea40bee73abfda5226a0e8ddb18b0e324d2a29@wormchain-0:26656\"/g" ${home_path}/config/config.toml
sed -i "s/persistent_peers = \"\"/persistent_peers = \"90ea40bee73abfda5226a0e8ddb18b0e324d2a29@wormchain-0:26656\"/g" ${home_path}/config/config.toml
fi
# copy the config to tendermint's default location, ~/.{chain-id}
mkdir -p /root/.wormchain && cp -r ${home_path}/* /root/.wormchain/
echo "$hostname: done with create-config.sh, exiting success."