Add initial stack to create gentx

This commit is contained in:
Shreerang Kale 2025-05-13 12:19:15 +05:30
parent 44a3b0405a
commit 0c25f9daff
4 changed files with 99 additions and 0 deletions

View File

@ -0,0 +1,32 @@
services:
laconicd:
restart: unless-stopped
image: cerc/laconicd:local
command: ["bash", "-c", "/opt/run-laconicd.sh"]
environment:
CERC_MONIKER: ${CERC_MONIKER:-TestnetNode}
CERC_CHAIN_ID: ${CERC_CHAIN_ID:-laconic_9000-1}
CERC_PEERS: ${CERC_PEERS}
MIN_GAS_PRICE: ${MIN_GAS_PRICE:-0.001}
CERC_LOGLEVEL: ${CERC_LOGLEVEL:-info}
volumes:
- laconicd-data:/root/.laconicd
- ../config/laconicd/run-laconicd.sh:/opt/run-laconicd.sh
ports:
- "6060"
- "26657"
- "26656"
- "9473"
- "9090"
- "1317"
healthcheck:
test: ["CMD", "nc", "-vz", "127.0.0.1", "26657"]
interval: 30s
timeout: 10s
retries: 10
start_period: 10s
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
laconicd-data:

View File

@ -0,0 +1,59 @@
#!/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 "Min gas price: $MIN_GAS_PRICE"
echo "Log level: $CERC_LOGLEVEL"
NODE_HOME=/root/.laconicd
# TODO: Add command to import key
# 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
# TODO: Add command to create gentxs
# 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
# Enable cors
sed -i 's/cors_allowed_origins.*$/cors_allowed_origins = ["*"]/' $HOME/.laconicd/config/config.toml
# 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 \
--api.enable \
--minimum-gas-prices=${MIN_GAS_PRICE}alnt \
--rpc.laddr="tcp://0.0.0.0:26657" \
--gql-playground --gql-server \
--log_level $CERC_LOGLEVEL \
--home $NODE_HOME

View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Build cerc/laconicd
source ${CERC_CONTAINER_BASE_DIR}/build-base.sh
docker build -t cerc/laconicd:local ${build_command_args} ${CERC_REPO_BASE_DIR}/laconicd

View File

@ -0,0 +1,3 @@
# create-gentx
Instructions for creating gentxs for joining as a validator