- Binary repo: https://git.vdb.to/cerc-io/laconicd
- Binary version: v0.1.7
- Genesis file: genesis.json
- Peers:
"[email protected]:26656"
- Minimum hardware requirements:
RAM: 8GB Disk space: 200GB CPU: 2 cores
- Testnet genesis file and peer node address
- Mnemonic from the wallet app
- Participant onboarded in Stage 0
- Stage 1 has started
-
Clone the stack repo:
laconic-so fetch-stack git.vdb.to/cerc-io/testnet-laconicd-stack
-
Clone required repositories:
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/testnet-laconicd setup-repositories --pull # If this throws an error as a result of being already checked out to a branch/tag in a repo, remove the repositories and re-run the command
-
Build the container images:
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/testnet-laconicd build-containers
This should create the following docker images locally:
cerc/laconicd
-
Create a spec file for the deployment:
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/testnet-laconicd deploy init --output testnet-laconicd-spec.yml
-
Edit
network
in the spec file to map container ports to host ports as required:# testnet-laconicd-spec.yml ... network: ports: laconicd: - '6060:6060' - '26657:26657' - '26656:26656' - '9473:9473' - '9090:9090' - '1317:1317'
-
Create the deployment from the spec file:
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/testnet-laconicd deploy create --spec-file testnet-laconicd-spec.yml --deployment-dir testnet-laconicd-deployment
-
Copy over the published testnet genesis file (
.json
) to data directory in deployment (testnet-laconicd-deployment/data/laconicd-data/tmp
):# Example mkdir -p testnet-laconicd-deployment/data/laconicd-data/tmp cp genesis.json testnet-laconicd-deployment/data/laconicd-data/tmp/genesis.json
-
Inside the
testnet-laconicd-deployment
deployment directory, openconfig.env
file and set following env variables:# Comma separated list of nodes to keep persistent connections to # Example: "[email protected]:26656" # Use the provided node id CERC_PEERS="[email protected]:26656" # A custom human readable name for this node (default: TestnetNode) CERC_MONIKER=
laconic-so deployment --dir testnet-laconicd-deployment start
-
To list down and monitor the running containers:
# With status docker ps -a # Follow logs for laconicd container laconic-so deployment --dir testnet-laconicd-deployment logs laconicd -f
-
Check the sync status of your node:
laconic-so deployment --dir testnet-laconicd-deployment exec laconicd "laconicd status | jq .sync_info" # `catching_up: false` indicates that node is completely synced
-
After the node has caught up, view current list of staking validators:
laconic-so deployment --dir testnet-laconicd-deployment exec laconicd "laconicd query staking validators"
- Confirm that in the list of validators, your node moniker does not exist
-
Import a key pair:
KEY_NAME=alice # Restore existing key with mnemonic seed phrase # You will be prompted to enter mnemonic seed laconic-so deployment --dir testnet-laconicd-deployment exec laconicd "laconicd keys add $KEY_NAME --recover" # Query the keystore for your account's address laconic-so deployment --dir testnet-laconicd-deployment exec laconicd "laconicd keys show $KEY_NAME -a"
-
Check balance for your account:
laconic-so deployment --dir testnet-laconicd-deployment exec laconicd "laconicd query bank balances <account-address>"
-
Create required validator configuration:
# Note: # Edit the staking amount and other fields as required # Replace <your-node-moniker> with your node's moniker in command below laconic-so deployment --dir testnet-laconicd-deployment exec laconicd 'cat <<EOF > my-validator.json { "pubkey": $(laconicd cometbft show-validator), "amount": "1000000000000000alnt", "moniker": "<your-node-moniker>", "commission-rate": "0.1", "commission-max-rate": "0.2", "commission-max-change-rate": "0.01", "min-self-delegation": "1" } EOF'
-
Create a validator:
laconic-so deployment --dir testnet-laconicd-deployment exec laconicd "laconicd tx staking create-validator my-validator.json \ --fees 500000alnt \ --chain-id=laconic_9000-1 \ --from $KEY_NAME"
-
View staking validators:
laconic-so deployment --dir testnet-laconicd-deployment exec laconicd "laconicd query staking validators"
- Check that in the list of validators
<your-node-moniker>
exists
- Check that in the list of validators
-
View validator set:
laconic-so deployment --dir testnet-laconicd-deployment exec laconicd "laconicd query consensus comet validator-set"
-
Stop all
testnet-laconicd
services running in the background:# Stop the docker containers laconic-so deployment --dir testnet-laconicd-deployment stop
-
To stop all services and also delete data:
# Stop the docker containers laconic-so deployment --dir testnet-laconicd-deployment stop --delete-volumes # Remove deployment directory (deployment will have to be recreated for a re-run) rm -r testnet-laconicd-deployment