# Halt stage0 and start stage1 Once all the participants have completed their onboarding, stage0 laconicd chain can be halted and stage1 chain can be initialized and started ## Login * Log in as `dev` user on the deployments VM * All the deployments are placed in the `/srv` directory: ```bash cd /srv ``` ## Halt stage0 * Confirm the the currently running node is for stage0 chain: ```bash cd /srv/laconicd laconic-so deployment --dir stage0-deployment logs laconicd -f --tail 30 ``` * List the participants on stage0: ```bash laconic-so deployment --dir stage0-deployment exec laconicd "laconicd query onboarding list" ``` * Stop the stage0 deployment: ```bash laconic-so deployment --dir stage0-deployment stop ``` ## Start stage1 * Use the scripts in fixturenet-laconicd stack to generate genesis file for stage1 using onboarding participants from stage0 chain with token allocations: ```bash cd /srv/laconicd # Set current working dir path in a variable DEPLOYMENTS_DIR=$(pwd) cd ~/cerc/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd # Generate the genesis file # Participant allocation: 1000000000000 (10^12) # Validator allocation: 2000000000000000 (10^15) ./scripts/generate-stage1-genesis-using-allocations.sh $DEPLOYMENTS_DIR/stage0-deployment 1000000000000 2000000000000000 # Expected output: # Genesis file for stage1 written to output/genesis.json # Remove the temporary data directory sudo rm -rf stage1-genesis # Go back to the directory where deployments are created cd $DEPLOYMENTS_DIR ``` * Copy over the generated genesis file (`.json`) containing the onboarding module state with funded participants to data directory in stage1 deployment (`stage1-deployment/data/genesis-config`): ```bash cd /srv/laconicd cp ~/cerc/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd/output/genesis.json stage1-deployment/data/genesis-config/genesis.json ``` * Republish records in stage1: * Create bond ```bash ALICE_PK=$(echo y | laconic-so deployment --dir /srv/laconicd/stage1-deployment exec laconicd "laconicd keys export alice --unarmored-hex --unsafe") laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry bond create --type alnt --quantity 1000000000000 --user-key $ALICE_PK" | jq -r '.bondId' ``` * Update CLI config ```bash BOND_ID=c5ce12710a0ba7bf01f085a24b23dc78936e8d63ba3ce9d4b9d8f789e5b2f265 laconic-so deployment --dir laconic-console-deployment exec cli "CERC_LACONICD_USER_KEY=${ALICE_PK} CERC_LACONICD_BOND_ID=${BOND_ID} CERC_LACONICD_GAS=500000 CERC_LACONICD_FEES=500000alnt /app/create-config.sh" ``` * Copy records ```bash cp -r /srv/laconicd/testnet-repo-records laconic-console-deployment/data/laconic-registry-data/testnet-repo-records ``` * Publish ```bash laconic-so deployment --dir laconic-console-deployment exec cli "yarn ts-node demo/scripts/publish-records.ts --config config.yml --records /laconic-registry-data/testnet-repo-records" ``` * Start the stage1 deployment: ```bash laconic-so deployment --dir stage1-deployment start ``` * Check status of stage1 laconicd: ```bash # List down the container and check health status docker ps -a | grep laconicd # Follow logs for laconicd container, check that new blocks are getting created laconic-so deployment --dir stage1-deployment logs laconicd -f ``` * Query the list of registered participants in stage1 laconicd: ```bash laconic-so deployment --dir stage1-deployment exec laconicd "laconicd query onboarding list" # Confirm that all onboarded participants on stage0 appear in the list ``` * Get the node's peer adddress and stage1 genesis file to share with the participants: * Get the node id: ```bash echo $(laconic-so deployment --dir stage1-deployment exec laconicd "laconicd cometbft show-node-id")@laconicd.laconic.com:26656 ``` * Get the genesis file: ```bash scp dev@:/srv/laconicd/stage1-deployment/data/laconicd-data/config/genesis.json ``` * Now users can follow the steps to [Join as a validator on stage1](https://git.vdb.to/cerc-io/testnet-laconicd-stack/src/branch/main/testnet-onboarding-validator.md#join-as-a-validator-on-stage1)