mirror of
https://github.com/cosmos/cosmjs.git
synced 2025-03-10 13:47:12 +00:00
95 lines
3.7 KiB
Bash
Executable File
95 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -o errexit -o nounset -o pipefail
|
|
command -v shellcheck >/dev/null && shellcheck "$0"
|
|
|
|
gnused="$(command -v gsed || echo sed)"
|
|
|
|
SCRIPT_DIR="$(realpath "$(dirname "$0")")"
|
|
# shellcheck source=./env
|
|
# shellcheck disable=SC1091
|
|
source "$SCRIPT_DIR"/env
|
|
|
|
rm -rf "$SCRIPT_DIR/template"
|
|
mkdir "$SCRIPT_DIR/template"
|
|
cp setup.sh "$SCRIPT_DIR/template/"
|
|
chmod +x "$SCRIPT_DIR/template/setup.sh"
|
|
cp run_simd.sh "$SCRIPT_DIR/template/"
|
|
chmod +x "$SCRIPT_DIR/template/run_simd.sh"
|
|
|
|
# The usage of the accounts below is documented in README.md of this directory
|
|
docker run --rm \
|
|
-e PASSWORD=my-secret-password \
|
|
--mount type=bind,source="$SCRIPT_DIR/template",target=/root \
|
|
"$REPOSITORY:$VERSION" \
|
|
./setup.sh \
|
|
cosmos1pkptre7fdkl6gfrzlesjjvhxhlc3r4gmmk8rs6 cosmos10dyr9899g6t0pelew4nvf4j5c3jcgv0r73qga5 cosmos1xy4yqngt0nlkdcenxymg8tenrghmek4nmqm28k cosmos142u9fgcjdlycfcez3lw8x6x5h7rfjlnfhpw2lx cosmos1hsm76p4ahyhl5yh3ve9ur49r5kemhp2r0dcjvx \
|
|
cosmos14qemq0vw6y3gc3u3e0aty2e764u4gs5le3hada cosmos1hhg2rlu9jscacku2wwckws7932qqqu8x3gfgw0 cosmos1xv9tklw7d82sezh9haa573wufgy59vmwe6xxe5 cosmos17yg9mssjenmc3jkqth6ulcwj9cxujrxxzezwta cosmos1f7j7ryulwjfe9ljplvhtcaxa6wqgula3etktce \
|
|
cosmos1lvrwcvrqlc5ktzp2c4t22xgkx29q3y83lktgzl cosmos1vkv9sfwaak76weyamqx0flmng2vuquxqcuqukh cosmos106jwym4s9aujcmes26myzzwqsccw09sdm0v5au cosmos1c7wpeen2uv8thayf7g8q2rgpm29clj0dgrdtzw cosmos1mjxpv9ft30wer7ma7kwfxhm42l379xutplrdk6 \
|
|
cosmos1cjsxept9rkggzxztslae9ndgpdyt2408lk850u \
|
|
cosmos17d0jcz59jf68g52vq38tuuncmwwjk42u6mcxej \
|
|
cosmos1v75snhly7wfndk83ud4daygh397vcmkta8rlzq cosmos1h90ml36rcu7yegwduzgzderj2jmq49hcpfclw9 cosmos1d2mg2euvus3tu2tprfwrfzeal4xu7kygugjxjc
|
|
|
|
# The ./template folder is created by the docker daemon's user (root on Linux, current user
|
|
# when using Docker Desktop on macOS), let's make it ours if needed
|
|
if [ ! -x "$SCRIPT_DIR/template/.simapp/config/gentx" ]; then
|
|
sudo chown -R "$(id -u):$(id -g)" "$SCRIPT_DIR/template"
|
|
fi
|
|
|
|
function inline_jq() {
|
|
IN_OUT_PATH="$1"
|
|
shift
|
|
TMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/inline_jq.XXXXXXXXX")
|
|
TMP_FILE="$TMP_DIR/$(basename "$IN_OUT_PATH")"
|
|
jq "$@" <"$IN_OUT_PATH" >"$TMP_FILE"
|
|
if ! mv "$TMP_FILE" "$IN_OUT_PATH"; then
|
|
echo >&2 "Temp file '$TMP_FILE' could not be deleted. If it contains sensitive data, you might want to delete it manually."
|
|
exit 3
|
|
fi
|
|
}
|
|
|
|
(
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# Set denom_metadata
|
|
inline_jq "template/.simapp/config/genesis.json" '.app_state.bank.denom_metadata |= [
|
|
{
|
|
"description": "The fee token of this test chain",
|
|
"denom_units": [
|
|
{
|
|
"denom": "ucosm",
|
|
"exponent": 0,
|
|
"aliases": []
|
|
},
|
|
{
|
|
"denom": "COSM",
|
|
"exponent": 6,
|
|
"aliases": []
|
|
}
|
|
],
|
|
"base": "ucosm",
|
|
"display": "COSM"
|
|
}
|
|
]'
|
|
|
|
# Sort genesis
|
|
inline_jq "template/.simapp/config/genesis.json" -S
|
|
|
|
# Custom settings in config.toml
|
|
"$gnused" -i \
|
|
-e 's/^cors_allowed_origins =.*$/cors_allowed_origins = ["*"]/' \
|
|
-e 's/^timeout_propose =.*$/timeout_propose = "300ms"/' \
|
|
-e 's/^timeout_propose_delta =.*$/timeout_propose_delta = "100ms"/' \
|
|
-e 's/^timeout_prevote =.*$/timeout_prevote = "300ms"/' \
|
|
-e 's/^timeout_prevote_delta =.*$/timeout_prevote_delta = "100ms"/' \
|
|
-e 's/^timeout_precommit =.*$/timeout_precommit = "300ms"/' \
|
|
-e 's/^timeout_precommit_delta =.*$/timeout_precommit_delta = "100ms"/' \
|
|
-e 's/^timeout_commit =.*$/timeout_commit = "1s"/' \
|
|
"template/.simapp/config/config.toml"
|
|
|
|
# Custom settings app.toml
|
|
"$gnused" -i \
|
|
-e 's/^enable =.*$/enable = true/' \
|
|
-e 's/^enabled-unsafe-cors =.*$/enabled-unsafe-cors = true/' \
|
|
"template/.simapp/config/app.toml"
|
|
)
|