Update root README

This commit is contained in:
IshaVenikar 2025-05-28 14:49:45 +05:30
parent a7f26983ab
commit 30727feb21
4 changed files with 1 additions and 344 deletions

View File

@ -2,25 +2,4 @@
- Follow [run-first-validator.md](docs/run-first-validator.md) to run the first validator node
- Follow [run-validator.md](docs/run-validator.md) to run subsequent validator nodes
### Other Dependencies
- [laconic-so](https://github.com/cerc-io/stack-orchestrator/?tab=readme-ov-file#install)
- [tmkms](https://github.com/iqlusioninc/tmkms?tab=readme-ov-file#installation) (for validator nodes)
- Keplr wallet extension (for multisig app)
## Launch Laconic Mainnet
- Run [playbook](./playbooks/first-validator/README.md) to use exported state for generating mainnet genesis, submit gentx and setup the node
- Generate the genesis file from testnet state
- Set up the first validator node
- Configure TMKMS for key management
- Verify testnet state transfer and token distribution
- Run [playbook](./playbooks/validator/README.md) to start both validator nodes
- Set up additional validator nodes with different ports
- Configure TMKMS for each validator
- Create validators on the running chain
- Verify validator creation and participation
- Deploy the Cosmos Multisig application using the [cosmos-multisig-app playbook](./playbooks/cosmos-multisig-app/README.md)
- Follow [cosmos-multisig-app playbook](./playbooks/cosmos-multisig-app/README.md) to run the Cosmos Multisig app

View File

@ -40,65 +40,3 @@
ansible --version
# ansible [core 2.17.2]
```
# Laconic Stack Playbooks
This directory contains Ansible playbooks for setting up and managing various components of the Laconic stack.
## Prerequisites
- [laconic-so](https://github.com/cerc-io/stack-orchestrator/?tab=readme-ov-file#install)
- [tmkms](https://github.com/iqlusioninc/tmkms?tab=readme-ov-file#installation) (for validator nodes)
- Install with `softsign` feature
```bash
cargo install tmkms --features=softsign --version=0.14.0
```
- testnet-state.json (exported testnet state)
- distribution.json (JSON containing the `lps_lockup` distribution)
- Keplr wallet extension (for multisig app)
## Launch Laconic Mainnet
- Begin by setting up the first validator node using the [first-validator playbook](first-validator/README.md)
This playbook will:
- Generate the genesis file from testnet state
- Set up the first validator node
- Configure TMKMS for key management
- Verify testnet state transfer and token distribution
- Once the first validator node is running, set up additional validators using the [validator playbook](validator/README.md)
This playbook will:
- Set up additional validator nodes with different ports
- Configure TMKMS for each validator
- Create validators on the running chain
- Verify validator creation and participation
- Deploy the Cosmos Multisig application using the [cosmos-multisig-app playbook](cosmos-multisig-app/README.md)
This playbook will:
- Set up the multisig web interface
- Configure it to work with your validator nodes
- Enable multisig wallet creation and management
- Allow creation of multisig wallets with validator accounts
- Enable transaction signing and broadcasting
## Common Environment Variables
Most playbooks require these environment variables:
```bash
export CWD=$(pwd)
export DATA_DIRECTORY=$CWD
```
Additional variables are documented in each playbook's README.
## Cleanup
To clean up all deployments:
```bash
rm -rf *-spec.yml *-deployment tmkms-* output
```

View File

@ -1,125 +0,0 @@
# First Validator Setup
This playbook sets up the first validator node for the Laconic mainnet chain.
## Prerequisites
- [ansible](../README.md#ansible-installation)
- [laconic-so](https://github.com/cerc-io/stack-orchestrator/?tab=readme-ov-file#install)
- [tmkms](https://github.com/iqlusioninc/tmkms?tab=readme-ov-file#installation)
- Install with `softsign` feature
```bash
cargo install tmkms --features=softsign --version=0.14.0
```
- testnet-state.json (exported testnet state)
- distribution.json (JSON containing the `lps_lockup` distribution)
## Setup Steps
1. Copy the example variables file:
```bash
cp first-validator-vars.example.yml first-validator-vars.yml
```
2. Set environment variables:
```bash
export CWD=$(pwd)
export DATA_DIRECTORY=$CWD
export MAINNET_DEPLOYMENT_DIR=mainnet-laconicd-deployment
export EXPORTED_STATE_PATH=$CWD/testnet-state.json
export LPS_DISTRIBUTION_PATH=$CWD/distribution.json
export EARLY_SUPPORTS_ACC_ADDR=laconic1gwytamfk3m5n0gsawh5vpwxkwd3vapmvzpp6nz
```
3. Generate genesis file:
```bash
ansible-playbook -v -i localhost, -c local generate-genesis.yml \
-e "exported_state_path=$EXPORTED_STATE_PATH" \
-e "lps_distribution_path=$LPS_DISTRIBUTION_PATH" \
-e "early_supports_acc_address=$EARLY_SUPPORTS_ACC_ADDR"
```
4. Update `first-validator-vars.yml` with your configuration:
```yaml
pvt_key: <KEY_OF_ACCOUNT_WITH_BALANCE_IN_TESTNET>
genesis_file: "$CWD/output/genesis.json"
staking_amount_file: "$CWD/output/staking-amount.json"
cerc_moniker: "LaconicMainnet"
key_name: "laconic-validator"
cerc_chain_id: "laconic-mainnet"
min_gas_price: 0.001
cerc_loglevel: "info"
```
5. Setup the first validator node:
```bash
ansible-playbook -v -i localhost, -c local setup-first-validator.yml
```
6. Setup TMKMS:
```bash
# Initialize TMKMS
tmkms init ./tmkms-first-node
# Create TMKMS config
cat > ./tmkms-first-node/tmkms.toml << EOL
[[chain]]
id = "laconic-mainnet"
key_format = { type = "cosmos-json", account_key_prefix = "laconicpub", consensus_key_prefix = "laconicvalconspub" }
state_file = "$CWD/tmkms-first-node/state/priv_validator_state.json"
[[validator]]
chain_id = "laconic-mainnet"
addr = "tcp://localhost:26659"
secret_key = "$CWD/tmkms-first-node/secrets/kms-identity.key"
protocol_version = "v0.34"
reconnect = true
[[providers.softsign]]
key_type = "consensus"
path = "$CWD/tmkms-first-node/secrets/priv_validator_key"
chain_ids = ["laconic-mainnet"]
EOL
# Import validator key
tmkms softsign import $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR/data/laconicd-data/config/priv_validator_key.json $CWD/tmkms-first-node/secrets/priv_validator_key
```
7. Start TMKMS:
```bash
tmkms start --config $CWD/tmkms-first-node/tmkms.toml
```
8. Enable TMKMS and start the node:
```bash
echo "TMKMS_ENABLED=true" >> $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR/config.env
rm $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR/data/laconicd-data/config/priv_validator_key.json
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR start
```
## Verification
1. Check node logs:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR logs laconicd -f
```
2. Verify validator and TMKMS pubkeys match:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR exec laconicd 'laconicd query staking validators -o json | jq .validators'
```
3. Check bonds list:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR exec laconicd 'laconicd query bond list'
```
4. Check token supply:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR exec laconicd 'laconicd query bank total-supply'
```
5. Check LPS lockup account:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR exec laconicd 'laconicd query auth module-account lps_lockup'
```

View File

@ -1,135 +0,0 @@
# Validator Setup
This playbook sets up additional validator nodes for the Laconic mainnet chain.
## Prerequisites
- [ansible](../README.md#ansible-installation)
- [laconic-so](https://github.com/cerc-io/stack-orchestrator/?tab=readme-ov-file#install)
- [tmkms](https://github.com/iqlusioninc/tmkms?tab=readme-ov-file#installation)
- Install with `softsign` feature
```bash
cargo install tmkms --features=softsign --version=0.14.0
```
- Running first validator node
- Private key of an account with balance
## Configuration
1. Copy the example variables file:
```bash
cp validator-vars.example.yml validator-vars.yml
```
2. Update `validator-vars.yml` with your configuration:
```yaml
cerc_moniker: "LaconicMainnetNode-2"
cerc_peers: "<node-id>@host.docker.internal:26656" # First validator node address
```
3. Update port mappings in `templates/specs/spec-template.yml.j2` to avoid port conflicts:
```yaml
network:
ports:
laconicd:
- '3060:6060'
- '36659:26659'
- '36657:26657'
- '36656:26656'
- '3473:9473'
- '3090:9090'
- '3317:1317'
```
## Setup Steps
1. Set environment variables:
```bash
export CWD=$(pwd)
export DATA_DIRECTORY=$CWD
export MAINNET_DEPLOYMENT_DIR=mainnet-validator-deployment
```
2. Setup validator node:
```bash
ansible-playbook -v -i localhost, -c local setup-validator.yml
```
3. Setup TMKMS:
```bash
# Initialize TMKMS
tmkms init ./tmkms-second-node
# Create TMKMS config
cat > ./tmkms-second-node/tmkms.toml << EOL
[[chain]]
id = "laconic-mainnet"
key_format = { type = "cosmos-json", account_key_prefix = "laconicpub", consensus_key_prefix = "laconicvalconspub" }
state_file = "$CWD/tmkms-second-node/state/priv_validator_state.json"
[[validator]]
chain_id = "laconic-mainnet"
addr = "tcp://localhost:36659"
secret_key = "$CWD/tmkms-second-node/secrets/kms-identity.key"
protocol_version = "v0.34"
reconnect = true
[[providers.softsign]]
key_type = "consensus"
path = "$CWD/tmkms-second-node/secrets/priv_validator_key"
chain_ids = ["laconic-mainnet"]
EOL
# Import validator key
tmkms softsign import $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR/data/laconicd-data/config/priv_validator_key.json $CWD/tmkms-second-node/secrets/priv_validator_key
```
4. Start TMKMS:
```bash
tmkms start --config $CWD/tmkms-second-node/tmkms.toml
```
5. Enable TMKMS and start the node:
```bash
echo "TMKMS_ENABLED=true" >> $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR/config.env
rm $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR/data/laconicd-data/config/priv_validator_key.json
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR start
```
## Create Validator
1. Set required environment variables:
```bash
export PVT_KEY=<private-key-in-hex-format>
export KEY_NAME=validator-2
```
2. Create validator on running chain:
```bash
ansible-playbook -v -i localhost, -c local create-validator.yml
```
## Verification
1. Check node logs:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR logs laconicd -f
```
2. Check validator list:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR exec laconicd 'laconicd query staking validators'
```
## Clean up
- To stop the deployment:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR stop
```
- To stop and delete all data:
```bash
laconic-so deployment --dir $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR stop --delete-volumes
sudo rm -rf $DATA_DIRECTORY/$MAINNET_DEPLOYMENT_DIR
```