58 lines
2.2 KiB
Bash
Executable File
58 lines
2.2 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/pex = false/pex = true/g" ${home_path}/config/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."
|