Update script to setup and run a node

This commit is contained in:
Prathamesh Musale 2024-06-17 19:16:19 +05:30
parent 3bee6e4941
commit 7adddacc72
4 changed files with 56 additions and 17 deletions

View File

@ -16,8 +16,6 @@ services:
- "26657" - "26657"
- "26656" - "26656"
- "9473" - "9473"
- "8545"
- "8546"
- "9090" - "9090"
- "9091" - "9091"
- "1317" - "1317"

View File

@ -3,9 +3,45 @@ if [[ -n "$CERC_SCRIPT_DEBUG" ]]; then
set -x set -x
fi fi
# TODO: pass from the caller # TODO: Read from env
MONIKER=MyNode
CHAIN_ID=laconic_9000-1
GENESIS_FILE_URL="/root/.laconicd/config/genesis.json"
PEERS=""
LOGLEVEL="info" LOGLEVEL="info"
# TODO: Get genesis file using CURL if [ -z "$PEERS" ]; then
echo "Persistent peers not provided, exiting..."
exit 1
else
echo "Using persistent peers $PEERS"
fi
laconicd start --gql-playground --gql-server --log_level $LOGLEVEL echo "Env:"
echo "Moniker: $MONIKER"
echo "Chain Id: $CHAIN_ID"
echo "Genesis file: $GENESIS_FILE_URL"
echo "Persistent peers: $PEERS"
NODE_HOME=/root/.laconicd
# Set chain id in config
laconicd config set client chain-id $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 $MONIKER and chain id $CHAIN_ID"
laconicd init $MONIKER --chain-id=$CHAIN_ID --home $NODE_HOME
# Fetch genesis config
echo "Fetching genesis file from $GENESIS_FILE_URL"
curl -o $NODE_HOME/config/genesis.json $GENESIS_FILE_URL
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 = \"$PEERS\"/g" $NODE_HOME/config/config.toml
laconicd start --gql-playground --gql-server --log_level $LOGLEVEL --home $NODE_HOME

View File

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

View File

@ -10,31 +10,33 @@ Minimum hardware requirements:
## Clone the stack repo ## Clone the stack repo
``` ```bash
$ laconic-so fetch-stack git.vdb.to/cerc-io/testnet-laconicd-stack laconic-so fetch-stack git.vdb.to/cerc-io/testnet-laconicd-stack
``` ```
## Clone required repositories ## Clone required repositories
``` ```bash
$ laconic-so --stack ~/cerc/testnet-laconicd-stack/stacks/laconicd-full-node setup-repositories laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconicd-full-node setup-repositories
``` ```
## Build the fixturenet-eth containers ## Build the fixturenet-eth containers
``` ```bash
$ laconic-so --stack ~/cerc/testnet-laconicd-stack/stacks/laconicd-full-node build-containers laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconicd-full-node build-containers
``` ```
This should create several container images in the local image registry: This should create several container images in the local image registry:
* cerc/laconicd * cerc/laconic2d
* * cerc/laconic-registry-cli
* cerc/webapp-base
* cerc/laconic-console-host
## Deploy the stack ## Deploy the stack
``` ```bash
$ laconic-so --stack ~/cerc/testnet-laconicd-stack/stacks/laconicd-full-node deploy up laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconicd-full-node deploy up
``` ```
## Check status ## Check status
@ -43,14 +45,16 @@ $ laconic-so --stack ~/cerc/testnet-laconicd-stack/stacks/laconicd-full-node dep
## Join as testnet validator ## Join as testnet validator
<!-- TODO --> <!-- TODO import a funded account / create an account and get it funded -->
<!-- TODO create a validator-->
## Clean up ## Clean up
Stop all services running in the background: Stop all services running in the background:
```bash ```bash
$ laconic-so --stack ~/cerc/testnet-laconicd-stack/stacks/laconicd-full-node deploy down laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconicd-full-node deploy down
``` ```
Clear volumes created by this stack: Clear volumes created by this stack: