testnet-laconicd-stack/stack-orchestrator/config/laconicd/scripts/run-laconicd.sh
Nabarun 0e0ddaa5ef Add stack for running a laconic testnet full node (#1)
Part of [Create a public laconicd testnet](https://www.notion.so/Create-a-public-laconicd-testnet-896a11bdd8094eff8f1b49c0be0ca3b8)

- To be handled in an upcoming PR:
  - Add laconic-registry-cli and console app to the stack

Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Reviewed-on: cerc-io/testnet-laconicd-stack#1
Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
Co-committed-by: Nabarun <nabarun@deepstacksoft.com>
2024-06-19 04:33:56 +00:00

48 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
if [[ -n "$CERC_SCRIPT_DEBUG" ]]; then
set -x
fi
set -e
input_genesis_file=/root/.laconicd/tmp/genesis.json
if [ ! -f ${input_genesis_file} ]; then
echo "Genesis file not provided, exiting..."
exit 1
fi
if [ -z "$CERC_PEERS" ]; then
echo "Persistent peers not provided, exiting..."
exit 1
fi
echo "Env:"
echo "Moniker: $CERC_MONIKER"
echo "Chain Id: $CERC_CHAIN_ID"
echo "Persistent peers: $CERC_PEERS"
echo "Log level: $CERC_LOGLEVEL"
NODE_HOME=/root/.laconicd
# Set chain id in config
laconicd config set client chain-id $CERC_CHAIN_ID --home $NODE_HOME
# Check if node data dir already exists
if [ -z "$(ls -A "$NODE_HOME/data")" ]; then
# Init node
echo "Initializing a new laconicd node with moniker $CERC_MONIKER and chain id $CERC_CHAIN_ID"
laconicd init $CERC_MONIKER --chain-id=$CERC_CHAIN_ID --home $NODE_HOME
# Use provided genesis config
cp $input_genesis_file $NODE_HOME/config/genesis.json
else
echo "Node data dir $NODE_HOME/data already exists, skipping initialization..."
fi
# Update config with persistent peers
sed -i "s/^persistent_peers *=.*/persistent_peers = \"$CERC_PEERS\"/g" $NODE_HOME/config/config.toml
echo "Starting laconicd node..."
laconicd start --gql-playground --gql-server --log_level $CERC_LOGLEVEL --home $NODE_HOME