upgrade to ethermint v0.21.0 #99

Closed
0xmuralik wants to merge 384 commits from murali/update-fork into main
5 changed files with 38 additions and 12 deletions
Showing only changes of commit c43c58e2f5 - Show all commits

View File

@ -74,7 +74,7 @@ make install
laconicd version --long laconicd version --long
``` ```
On running the above command, you should see a similar response like this. Make sure that the _version_ and _commit On running the above command, you should see a similar response like this. Make sure that the *version* and commit
hash_ are accurate hash_ are accurate
``` ```

View File

@ -24,11 +24,14 @@
# Blockchain client Setup # Blockchain client Setup
There are two options of running a laconicd There are two options of running a laconicd
1. As a systemd service 1. As a systemd service
2. In a docker container 2. In a docker container
## Systemd service ## Systemd service
Skip this section if you use docker Skip this section if you use docker
### Install required software packages ### Install required software packages
```sh ```sh
@ -93,7 +96,7 @@ laconicd version --long
``` ```
On running the above command, you should see a similar response like this. Make sure that the _version_ and _commit On running the above command, you should see a similar response like this. Make sure that the *version* and commit
hash_ are accurate hash_ are accurate
```sh ```sh
@ -121,10 +124,12 @@ Make sure the directory `~/.laconicd` does not exist or is empty
--- ---
>**Docker**<br/> >**Docker**<br/>
>In order to run the below commands in a docker container: >In order to run the below commands in a docker container:
>
>```sh >```sh
>docker run -ti -v ~/.laconicd:/root/.laconicd \ >docker run -ti -v ~/.laconicd:/root/.laconicd \
>git.vdb.to/cerc-io/laconicd/laconicd:v0.8.0 /bin/sh >git.vdb.to/cerc-io/laconicd/laconicd:v0.8.0 /bin/sh
>``` >```
>
--- ---
```sh ```sh
@ -218,9 +223,11 @@ moniker="<your moniker>"
# Update seeds, persistent_peers and prometheus parameters in config.toml # Update seeds, persistent_peers and prometheus parameters in config.toml
sed -i.bak -e "s/^seeds *=.*/seeds = \"$seeds\"/; s/^persistent_peers *=.*/persistent_peers = \"$peers\"/; s/^prometheus *=.*/prometheus = true/; s/^moniker *=.*/moniker = \"$moniker\"/; s/^external_address *=.*/external_address = \"tcp:\/\/$external_address:26656\"/" $HOME/.laconicd/config/config.toml sed -i.bak -e "s/^seeds *=.*/seeds = \"$seeds\"/; s/^persistent_peers *=.*/persistent_peers = \"$peers\"/; s/^prometheus *=.*/prometheus = true/; s/^moniker *=.*/moniker = \"$moniker\"/; s/^external_address *=.*/external_address = \"tcp:\/\/$external_address:26656\"/" $HOME/.laconicd/config/config.toml
``` ```
--- ---
## Create systemd validator service (skip for Docker) ## Create systemd validator service (skip for Docker)
```sh ```sh
sudo tee /etc/systemd/system/laconicd.service > /dev/null <<EOF sudo tee /etc/systemd/system/laconicd.service > /dev/null <<EOF
[Unit] [Unit]
@ -266,9 +273,13 @@ journalctl --since "1 day ago" -u laconicd
journalctl -f -u laconicd journalctl -f -u laconicd
``` ```
--- ---
## Run validator node in Docker container ## Run validator node in Docker container
### Create docker container ### Create docker container
In this example the Tendermint RPC and Prometheus metrics ports are exposed only to localhost. You may want to change 127.0.0.1 to private or public network interface of your host if you need to access these ports remotely. In this example the Tendermint RPC and Prometheus metrics ports are exposed only to localhost. You may want to change 127.0.0.1 to private or public network interface of your host if you need to access these ports remotely.
```sh ```sh
@ -300,7 +311,9 @@ docker logs laconic-testnet-6
```sh ```sh
docker exec -ti laconic-testnet-6 /bin/sh docker exec -ti laconic-testnet-6 /bin/sh
``` ```
--- ---
## Helpful commands ## Helpful commands
```sh ```sh
@ -313,7 +326,5 @@ curl http://localhost:26657/consensus_state
# Check the sync status of your validator node (for docker need to run shell inside the container fist) # Check the sync status of your validator node (for docker need to run shell inside the container fist)
laconicd status | jq .SyncInfo laconicd status | jq .SyncInfo
``` ```
--- ---

View File

@ -5,10 +5,12 @@ This guide assumes you have followed the instructions to crete a systemd service
It is highly recommended to make the backup of your datadir after you stop v0.6.0 and before you start v0.7.0. Unless you changed your datadir, it should be located in `~/.laconicd` It is highly recommended to make the backup of your datadir after you stop v0.6.0 and before you start v0.7.0. Unless you changed your datadir, it should be located in `~/.laconicd`
## Systemd service ## Systemd service
Skip this section if you use docker Skip this section if you use docker
This is very similar to building v0.6.0. We keep v 0.6.0 running until v0.7.0 is built and only after the successful build we should replace 0.6.0 binary with v0.7.0. This is to avoid jailing your validator for long downtime. This is very similar to building v0.6.0. We keep v 0.6.0 running until v0.7.0 is built and only after the successful build we should replace 0.6.0 binary with v0.7.0. This is to avoid jailing your validator for long downtime.
The general upgrade plan is the following: The general upgrade plan is the following:
1. Install Go v1.19.5 (we used 1.18 for v0.6.0) 1. Install Go v1.19.5 (we used 1.18 for v0.6.0)
2. Remove old copy of the github repository and build directory 2. Remove old copy of the github repository and build directory
3. Download the latest laconicd repository and checkout v0.7.0 3. Download the latest laconicd repository and checkout v0.7.0
@ -19,8 +21,6 @@ The general upgrade plan is the following:
>***You have ~10 minutes after step 5 to complete steps 6 and 7 before your validator is jailed for downtime. Getting jailed for downtime is not a disaster, however would require manual unjailing.*** >***You have ~10 minutes after step 5 to complete steps 6 and 7 before your validator is jailed for downtime. Getting jailed for downtime is not a disaster, however would require manual unjailing.***
### Install Go 1.19 ### Install Go 1.19
```sh ```sh
@ -62,6 +62,7 @@ rm -rf laconicd
--- ---
### Download `laconicd` repository ### Download `laconicd` repository
```sh ```sh
git clone https://github.com/cerc-io/laconicd.git git clone https://github.com/cerc-io/laconicd.git
cd laconicd cd laconicd
@ -107,6 +108,7 @@ Verify your installation
```sh ```sh
laconicd version laconicd version
``` ```
This should return `0.7.0` This should return `0.7.0`
--- ---
@ -123,12 +125,12 @@ Verify that the node joined the network and produces new blocks
journalctl -f -u laconicd journalctl -f -u laconicd
``` ```
--- ---
## Docker container ## Docker container
Upgrade plan: Upgrade plan:
1. Stop running v0.6.0 container 1. Stop running v0.6.0 container
2. Delete v0.6.0 container 2. Delete v0.6.0 container
3. Create v0.7.0 container 3. Create v0.7.0 container
@ -137,6 +139,7 @@ Upgrade plan:
>***You have ~10 minutes to complete the upgrade procedure before your validator is jailed for downtime. Getting jailed for downtime is not a disaster, however would require manual unjailing.*** >***You have ~10 minutes to complete the upgrade procedure before your validator is jailed for downtime. Getting jailed for downtime is not a disaster, however would require manual unjailing.***
### Stop running v0.6.0 container ### Stop running v0.6.0 container
```sh ```sh
docker stop laconic-testnet-5 docker stop laconic-testnet-5
``` ```
@ -144,6 +147,7 @@ docker stop laconic-testnet-5
--- ---
### Delete v0.6.0 container ### Delete v0.6.0 container
```sh ```sh
docker rm laconic-testnet-5 docker rm laconic-testnet-5
``` ```
@ -151,6 +155,7 @@ docker rm laconic-testnet-5
--- ---
### Create v0.7.0 container ### Create v0.7.0 container
```sh ```sh
docker create --name laconic-testnet-5 \ docker create --name laconic-testnet-5 \
--restart always \ --restart always \
@ -165,6 +170,7 @@ laconicd start --gql-playground --gql-server --log_level=warn
--- ---
### Start v0.7.0 container ### Start v0.7.0 container
```sh ```sh
docker start laconic-testnet-5 docker start laconic-testnet-5
``` ```

View File

@ -14,23 +14,32 @@ make build
The following steps need to be followed only before running the chain for the first time. The following steps need to be followed only before running the chain for the first time.
1. Add the root key: 1. Add the root key:
``` ```
./build/laconicd keys add root ./build/laconicd keys add root
``` ```
Keep a note of the keyring passphrase if you set it. Keep a note of the keyring passphrase if you set it.
2. Init the chain: 2. Init the chain:
``` ```
./build/laconicd init test-moniker --chain-id laconic_9000-1 ./build/laconicd init test-moniker --chain-id laconic_9000-1
``` ```
3. Add genesis account: 3. Add genesis account:
``` ```
./build/laconicd add-genesis-account $(./build/laconicd keys show root -a) 1000000000000000000aphoton,1000000000000000000stake ./build/laconicd add-genesis-account $(./build/laconicd keys show root -a) 1000000000000000000aphoton,1000000000000000000stake
``` ```
4. Make a genesis tx: 4. Make a genesis tx:
``` ```
./build/laconicd gentx root 1000000000000000000stake --chain-id laconic_9000-1 ./build/laconicd gentx root 1000000000000000000stake --chain-id laconic_9000-1
``` ```
5. Collect gentxs: 5. Collect gentxs:
``` ```
./build/laconicd collect-gentxs ./build/laconicd collect-gentxs
``` ```

View File

@ -181,8 +181,8 @@ $ ./build/laconicd q registry balance -o json | jq .
## add bond to the authority ## add bond to the authority
```bash ```bash
$ ./build/laconicd tx registry authority-bond [Authority Name] [Bond ID ] --from root --chain-id laconic_9000-1 -y -o json | jq . ./build/laconicd tx registry authority-bond [Authority Name] [Bond ID ] --from root --chain-id laconic_9000-1 -y -o json | jq .
$ ./build/laconicd tx registry authority-bond hello 95f68b1b862bfd1609b0c9aaf7300287b92fec90ac64027092c3e723af36e83d --from root --chain-id laconic_9000-1 -y -o json | jq . ./build/laconicd tx registry authority-bond hello 95f68b1b862bfd1609b0c9aaf7300287b92fec90ac64027092c3e723af36e83d --from root --chain-id laconic_9000-1 -y -o json | jq .
``` ```
## Query the records by associate bond id ## Query the records by associate bond id
@ -274,7 +274,7 @@ $./build/laconicd tx registry dissociate-records c3f7a78c5042d2003880962ba31ff3b
> When a record is expires , needs to renew record > When a record is expires , needs to renew record
```bash ```bash
$ ./build/laconicd tx registry renew-record bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae --from root --chain-id laconic_9000-1 ./build/laconicd tx registry renew-record bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae --from root --chain-id laconic_9000-1
``` ```