Columbus-5 Mainnet Upgrade Proposal and Recommendations

Columbus-5 Launch :rocket:

As discussed in the agora post, columbus-5 is ready now to launch. columbus-5 will use Terra Core v0.5.0 which integrates CosmosSDK v0.43.0 and CosmWasm v0.16.0.

Release Binary

https://github.com/terra-money/core/releases/tag/v0.5.0

$ terrad version --long 
name: terra
server_name: terrad
version: 0.5.0
commit: d6037b9a12c8bf6b09fe861c8ad93456aac5eebb
build_tags: netgo,ledger
go: go version go1.16.5 darwin/amd64

Schedule

columbus-4 will be halted at height #4,460,000

Expected Timeline

  • Thu Sep 09 2021 08:00:00 GMT+0000 (UTC)
  • Thu Sep 09 2021 00:00:00 GMT-0800 (PST)
  • Thu Sep 09 2021 17:00:00 GMT+0900 (KST)

Testnet Schedule

We will launch bombay-9 testnet network with bombay-0008 retirement.

  • The genesis is forked from the tequila-0004 network at height #5,330,000
  • The genesis event of bombay-9 testnet will occur at
    • Fri Aug 13 08:00:00 GMT+0000 (UTC)
    • Fri Aug 13 00:00:00 GMT-0800 (PST)
    • Fri Aug 13 17:00:00 GMT+0900 (KST)
  • Detail Instructions: here

Major Updates

  1. Bump CosmosSDK to v0.43.0 (Stargate)
  2. Bump CosmWasm to v0.16.0
  3. Change seigniorage distribution logic as follow and set reward_weight to 1
    1. reward_weight portion of the seigniorage to be burned
    2. 1-reward_weight parameter to go to the community pool
  4. Dividend swap fees to faithful oracles instead of burn
  5. Support IBC v1.0.0

Breaking Changes

CosmosSDK breaking changes: here

Wallet Migration Guide: here

Contract Migration Guide: here

For JavaScript developers: npm i -S @terra-money/terra.js@^2

Notice for Contract Developers

Terra went live with CosmWasm v0.10 in columbus-4 . columbus-5 will use CosmWasm v0.16, which is not compatible with previously published contracts. In order to solve this incompatibility, we deleted all the existing codes for contracts from the chain. Don’t panic - Contracts and its store is preserved.

All contract operations will not work until the contract code migration completed. Developers must migrate the contract code to compatible with CosmWasm v0.16 and do migration test on bombay-9 network.

LocalTerra main branch is compatible to bombay-9. It allows developers to develop contracts in local environment.

You can migrate the code with following command:

$ terrad tx wasm store {wasm_path} --migrate-code-id {code_id}

Or broadcast a transaction using terra.js@^2

MsgMigrateCode(
    public sender: AccAddress,
    public code_id: number,
    public wasm_byte_code: string
)

Caution: wasm store --migrate-code-id can only be done once. However, you can still use wasm migrate for another migration.

5 Likes