Add a script and instructions for users to upgrade to testnet stage2
This commit is contained in:
parent
556d54baff
commit
e313969088
@ -93,7 +93,7 @@ Once all the participants have completed their onboarding, stage0 laconicd chain
|
||||
scp dev@<deployments-server-hostname>:/srv/laconicd/stage1-deployment/data/laconicd-data/config/genesis.json </path/to/local/directory>
|
||||
```
|
||||
|
||||
* 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)
|
||||
* Now users can follow the steps to [Join as a validator on stage1](../testnet-onboarding-validator.md#join-as-a-validator-on-stage1)
|
||||
|
||||
## Bank Transfer
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
||||
* Initialize stage2 chain:
|
||||
|
||||
```bash
|
||||
DEPLOYMENT_DIR=$pwd
|
||||
DEPLOYMENT_DIR=$(pwd)
|
||||
|
||||
cd ~/cerc/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
scp dev@<deployments-server-hostname>:/srv/laconicd/stage2-deployment/data/laconicd-data/config/genesis.json </path/to/local/directory>
|
||||
```
|
||||
|
||||
* Now users can follow the steps to [Upgrade to testnet stage2](https://git.vdb.to/cerc-io/testnet-laconicd-stack/src/branch/main/testnet-onboarding-validator.md#upgrade-to-testnet-stage2)
|
||||
* Now users can follow the steps to [Upgrade to testnet stage2](../testnet-onboarding-validator.md#upgrade-to-testnet-stage2)
|
||||
|
||||
## Bank Transfer
|
||||
|
||||
|
25
ops/stage2/upgrade-node-to-stage2.sh
Executable file
25
ops/stage2/upgrade-node-to-stage2.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit on error
|
||||
set -e
|
||||
set -u
|
||||
|
||||
NODE_HOME="$HOME/.laconicd"
|
||||
stage2_genesis="$NODE_HOME/tmp-stage2/genesis.json"
|
||||
|
||||
if [ ! -f ${stage2_genesis} ]; then
|
||||
echo "stage2 genesis file not found, exiting..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Remove data but keep keys
|
||||
laconicd cometbft unsafe-reset-all
|
||||
|
||||
# Use provided genesis config
|
||||
cp $stage2_genesis $NODE_HOME/config/genesis.json
|
||||
|
||||
# Set chain id in config
|
||||
chain_id=$(jq -r '.chain_id' $stage2_genesis)
|
||||
laconicd config set client chain-id $chain_id --home $NODE_HOME
|
||||
|
||||
echo "Node data reset and ready for stage2!"
|
@ -280,6 +280,100 @@ laconic-so deployment --dir testnet-laconicd-deployment start
|
||||
sudo rm -r testnet-laconicd-deployment
|
||||
```
|
||||
|
||||
## Upgrade to testnet stage2
|
||||
|
||||
### Prerequisites
|
||||
|
||||
* Testnet stage2 genesis file and peer node address
|
||||
|
||||
* Mnemonic from the [wallet](https://wallet.laconic.com)
|
||||
|
||||
* Have a testnet stage1 node running
|
||||
|
||||
### Setup
|
||||
|
||||
* Clone / pull the stack repo:
|
||||
|
||||
```bash
|
||||
laconic-so fetch-stack git.vdb.to/cerc-io/testnet-laconicd-stack --pull
|
||||
```
|
||||
|
||||
* Clone / pull the required repositories:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/testnet-laconicd build-containers --force-rebuild
|
||||
```
|
||||
|
||||
This should create the following docker images locally with latest changes:
|
||||
|
||||
* `cerc/laconicd`
|
||||
|
||||
### Create a deployment
|
||||
|
||||
* The existing deployment used for stage1 can be used for stage2
|
||||
|
||||
* Copy over the published testnet genesis file (`.json`) to data directory in deployment (`testnet-laconicd-deployment/data/laconicd-data/tmp-stage2`):
|
||||
|
||||
```bash
|
||||
# In dir where stage1 deployment (`testnet-laconicd-deployment`) exists
|
||||
TESTNET_DEPLOYMENT=$(pwd)/testnet-laconicd-deployment
|
||||
|
||||
# Example
|
||||
mkdir -p $TESTNET_DEPLOYMENT/data/laconicd-data/tmp-stage2
|
||||
cp genesis.json $TESTNET_DEPLOYMENT/data/laconicd-data/tmp-stage2/genesis.json
|
||||
```
|
||||
|
||||
* Run script to reset node data and upgrade for stage2:
|
||||
|
||||
```bash
|
||||
cd ~/cerc/testnet-laconicd-stack
|
||||
|
||||
docker run -it \
|
||||
-v $TESTNET_DEPLOYMENT/data/laconicd-data:/root/.laconicd \
|
||||
-v ./ops/stage2:/scripts \
|
||||
cerc/laconicd:local bash -c "/scripts/upgrade-node-to-stage2.sh"
|
||||
|
||||
cd $TESTNET_DEPLOYMENT
|
||||
```
|
||||
|
||||
### Configuration
|
||||
|
||||
* Inside the `testnet-laconicd-deployment` deployment directory, open `config.env` file and set following env variables:
|
||||
|
||||
```bash
|
||||
CERC_CHAIN_ID=laconic_9000-2
|
||||
|
||||
# Comma separated list of nodes to keep persistent connections to
|
||||
# Example: "node-1-id@laconicd.laconic.com:26656"
|
||||
# Use the provided node id
|
||||
CERC_PEERS=""
|
||||
|
||||
# A custom human readable name for this node
|
||||
CERC_MONIKER=
|
||||
```
|
||||
|
||||
### Start the deployment
|
||||
|
||||
```bash
|
||||
laconic-so deployment --dir testnet-laconicd-deployment start
|
||||
```
|
||||
|
||||
See [Check status](#check-status) to follow sync status of your node
|
||||
|
||||
See [Join as testnet validator](#join-as-testnet-validator) to join / rejoin as a validator using laconicd CLI
|
||||
|
||||
### Clean up
|
||||
|
||||
* Same as [Clean up](#clean-up)
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
* If you face any issues in the onboarding app or the web-wallet, clear your browser cache and reload
|
||||
|
Loading…
Reference in New Issue
Block a user