Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions bitsong-2b/upgrades/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
# Network Upgrades
# Network Upgrades

## Upgrades
| Version | | | | |
|---|---|---|---|---|
| [v0.20.0](v0.20.0/guide.md) | v020 | | | |
| [v0.21.0](v0.21.0/guide.md) | v021 | | | |
| [manual](manual-upgrades/README.md) | | | | |



| Current Version | | | | |
|---|---|---|---|---|
| [v0.24.0](v0.24.0/guide.md) | v024 | | | |

2 changes: 1 addition & 1 deletion bitsong-2b/upgrades/postmortems/v0.21.0.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## After The Upgrade Report
## After The Upgrade Report: v0.20.4

## What Happened?

Expand Down
15 changes: 15 additions & 0 deletions bitsong-2b/upgrades/postmortems/v0.21.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## After The Upgrade Report: v0.21.4

## What Happened?

## Immediate Consensus Afer Graceful Halt

Upon reaching the halt height, any node that did not gracefully halt to apply the patch as instructed through the upgrade guide began the consensus rounds prevotes,as normally expected.
Due to this upgrade not actually containing any consensus breaking logic (not regarding moving the wasm data path), once nodes that did gracefully halt, applied the wasm data path correction, and upgraded to the latest version of go-bitsong,
consensus was able to be met essentially immediately after reaching the halt height.


## App Hash Triggered By Cosmwasm Execution

Once consensus was resumed, it was confirmed that the bug present with cosmwasm stateful queries was resolved, and a transaction calling a cosmwasm contract was submitted by the core team,
resulting in an app-hash difference between nodes that did not perform all of the patch steps as necessary, and those that did. Nodes that did not have the correct final app hash were required to use a snapshot prior to the halt height, and reapply the coordinated patch as expected to end up with the correct app hash. This took some time for the majority of nodes to agree on the finalized app hash, & upon reaching 2/3 majority consensus, the block was committed and we resumed block creation as epected.
6 changes: 6 additions & 0 deletions bitsong-2b/upgrades/v0.22.0/cosmovisor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"binaries": {
"linux/arm64": "https://github.com/permissionlessweb/go-bitsong/releases/download/v0.22.0/bitsongd-linux-arm64?checksum=sha256:734366c046657a13cfe1c8b953048e22015bfa4a5e97101d94eb094ff44fc4a8",
"linux/amd64": "https://github.com/permissionlessweb/go-bitsong/releases/download/v0.22.0/bitsongd-linux-amd64?checksum=sha256:4c259679283b6e0caae9adc9000fb2cc3fc5fc167dbf760de34ac3d4984459b0"
}
}
86 changes: 86 additions & 0 deletions bitsong-2b/upgrades/v0.22.0/guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Go-Bitsong v0.22.0 - Nina
| | |
|-----------------|--------------------------------------------------------------|
| Chain-id | `bitsong-2b` |
| Upgrade Version | `v0.22.0` |
| Upgrade Height | `22412000` |


The target block for this upgrade is `22412000`, which is expected to arrive at `May 19th 2025, 15:38:25 UTC` [Mintscan Countdown](https://www.mintscan.io/bitsong/block/22412000)

## Building Manually:

### 1. Verify that you are currently running the correct version (v0.21.6) of `bitsongd`:

```sh
bitsongd version --long
# name: go-bitsong
# server_name: bitsongd
# client_name: bitsongcli
# version: 0.21.6
# commit: fbdc84594b0a65d2bbe1da4381f71932efa7efed
# build_tags: netgo,ledger
```

### 2. Make sure your chain halts at the right block: `22412000`
```sh
perl -i -pe 's/^halt-height =.*/halt-height = 22412000/' ~/.bitsongd/config/app.toml
```
then restart your node `systemctl restart bitsongd`

### 3. After the chain has halted, make a backup of your `.bitsongd` directory
```sh
cp -Rf ~/.bitsongd ./bitsongd_backup
```

**NOTE**: It is recommended for validators and operators to take a full data snapshot at the export height before proceeding in case the upgrade does not go as planned or if not enough voting power comes online in a sufficient and agreed upon amount of time. In such a case, the chain will fallback to continue operating `bitsong-2b`.
~z

### Option A: Install Go-Bitsong binary
```sh
git clone https://github.com/permissionlessweb/go-bitsong
cd go-bitsong && git pull && git checkout v0.22.0
make install
```

### 5. Verify you are currently running the correct version (v0.20.2) of the `go-bitsong`:
```sh
bitsongd version --long | grep "cosmos_sdk_veresion/|commit\|version:"
# commit: 424ccd2affd7274a6befcdb99079d1f05fab6e86
# cosmos_sdk_version: v0.53.0
# version: 0.22.0
```

### Option B: Downloading Verified Build:
```sh
# set target platform
export PLATFORM_TARGET=amd64 #arm64
# delete if exists
rm -rf bitsongd_linux_$PLATFORM_TARGET.tar.gz
# download
curl -L -o ~/bitsongd-linux-$PLATFORM_TARGET.tar.gz https://github.com/bitsongofficial/go-bitsong/releases/download/v0.22.0/bitsongd-linux-$PLATFORM_TARGET.tar.gz
# verify sha256sum
sha256sum bitsongd-linux-$PLATFORM_TARGET.tar.gz
# Output: 810188661f98a75941de3a0d3671a7ec40e19824b93ab1f9204ac585300537de bitsongd-linux-amd64.tar.gz
# Output: 4dcf0f96d83613620e3e2ea6e037de0400c732ee4ce6a176b517e42b8a4f2721 bitsongd-linux-arm64.tar.gz

# decompress
tar -xvzf bitsongd-linux-$PLATFORM_TARGET.tar.gz

## move binary to go bin path
sudo mv build/bitsongd-linux-$PLATFORM_TARGET $HOME/go/bin/bitsongd

## change file ownership, if nessesary
sudo chmod +x $HOME/go/bin/bitsongd

## confirm binary executable works
bitsongd version --long

# build_tags: netgo,ledger
# commit: 424ccd2affd7274a6befcdb99079d1f05fab6e86
# server_name: bitsongd
# version:0.22.0
```

### Option C: Cosmovisor

6 changes: 6 additions & 0 deletions bitsong-2b/upgrades/v0.23.0/cosmovisor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"binaries": {
"linux/arm64": "https://github.com/permissionlessweb/go-bitsong/releases/download/v0.23.0/bitsongd-linux-arm64?checksum=sha256:137d515f0799d7089803170256a79a7d77bf987de6d6a78eaa895a95d3e8e20b",
"linux/amd64": "https://github.com/permissionlessweb/go-bitsong/releases/download/v0.23.0/bitsongd-linux-amd64?checksum=sha256:81fa596c6deeb635c4c16d84bc1e6b990982fed6ab10cf0a0e377841f778e094"
}
}
85 changes: 85 additions & 0 deletions bitsong-2b/upgrades/v0.23.0/guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Go-Bitsong v0.23.0 - Gauss
| | |
|-----------------|--------------------------------------------------------------|
| Chain-id | `bitsong-2b` |
| Upgrade Version | `v0.23.0` |
| Upgrade Height | `22990737` |


The target block for this upgrade is `22990737`, which is expected to arrive at `Thursday June 26th 2025, 15:00:00 UTC` [Chainroot Countdown](https://explorer.chainroot.io/bitsong/blocks/22990737)

## Building Manually:

### 1. Verify that you are currently running the correct version (v0.22.0) of `bitsongd`:

```sh
bitsongd version --long
# name: go-bitsong
# server_name: bitsongd
# version: 0.22.0
# commit:
# build_tags: netgo,ledger
```

### 2. Make sure your chain halts at the right block: `22990737`
```sh
perl -i -pe 's/^halt-height =.*/halt-height = 22990737/' ~/.bitsongd/config/app.toml
```
then restart your node `systemctl restart bitsongd`

### 3. After the chain has halted, make a backup of your `.bitsongd` directory
```sh
cp -Rf ~/.bitsongd ./bitsongd_backup
```

**NOTE**: It is recommended for validators and operators to take a full data snapshot at the export height before proceeding in case the upgrade does not go as planned or if not enough voting power comes online in a sufficient and agreed upon amount of time. In such a case, the chain will fallback to continue operating `bitsong-2b`.
~z

### Option A: Install Go-Bitsong binary
```sh
git clone https://github.com/permissionlessweb/go-bitsong
cd go-bitsong && git pull && git checkout v0.23.0
make install
```

### 5. Verify you are currently running the correct version (v0.23.0) of the `go-bitsong`:
```sh
bitsongd version --long | grep "cosmos_sdk_veresion/|commit\|version:"
# commit: 831d0ee582d651e1dbc27715c740e38ad01225bc
# cosmos_sdk_version: v0.53.0
# version: v0.23.0
```

### Option B: Downloading Verified Build:
```sh
# set target platform
export PLATFORM_TARGET=amd64 #arm64
# delete if exists
rm -rf bitsongd_linux_$PLATFORM_TARGET.tar.gz
# download
curl -L -o ~/bitsongd-linux-$PLATFORM_TARGET.tar.gz https://github.com/bitsongofficial/go-bitsong/releases/download/v0.23.0/bitsongd-linux-$PLATFORM_TARGET.tar.gz
# verify sha256sum
sha256sum bitsongd-linux-$PLATFORM_TARGET.tar.gz
# Output: 1f2338fbb93af915985293044d647b19b83b4c7da66f90b034f9c681b89d4fe9 bitsongd-linux-amd64.tar.gz
# Output: 80a7081968bc71b00c906518954776fea0c716e11c3149439bd85069f115172e bitsongd-linux-arm64.tar.gz

# decompress
tar -xvzf bitsongd-linux-$PLATFORM_TARGET.tar.gz

## move binary to go bin path
sudo mv build/bitsongd-linux-$PLATFORM_TARGET $HOME/go/bin/bitsongd

## change file ownership, if nessesary
sudo chmod +x $HOME/go/bin/bitsongd

## confirm binary executable works
bitsongd version --long

# build_tags: netgo,ledger
# commit: 831d0ee582d651e1dbc27715c740e38ad01225bc
# server_name: bitsongd
# version: v0.23.0
```

### Option C: Cosmovisor

7 changes: 7 additions & 0 deletions bitsong-2b/upgrades/v0.24.0/cosmovisor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"binaries": {
"linux/arm64": "https://github.com/permissionlessweb/go-bitsong/releases/download/v0.24.0/bitsongd-linux-arm64?checksum=sha256:da09272cbdb6ab379edca3507bd4dba875e56ec1c8cdc09d4d26c624dec097cb",
"linux/amd64": "https://github.com/permissionlessweb/go-bitsong/releases/download/v0.24.0/bitsongd-linux-amd64?checksum=sha256:a839eb5c7eda761e4f7e80948ebaa9a3bfcc05f616846cd07ad1d53f50868163"
},
"pre_upgrade_script": "https://raw.githubusercontent.com/permissionlessweb/networks/refs/heads/master/bitsong-2b/upgrades/v0.24.0/preUpgradeScript.sh?checksum=sha256:f4e88c199864094ae025e0ce3b8bd9ff0b5e648bfe00acd80e4062ef6d3d5d0b"
}
Loading