# Columbus-5 Mainnet Upgrade Proposal and Recommendations

**URL:** <https://classic-agora.terra.money/t/columbus-5-mainnet-upgrade-proposal-and-recommendations/1840>\
**Category:** Governance & Proposals\
**Created:** [August 11, 2021, 8:56am UTC](https://classic-agora.terra.money/t/columbus-5-mainnet-upgrade-proposal-and-recommendations/1840 "2021-08-11T08:56:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dokwon](https://sea2.discourse-cdn.com/terra/user_avatar/classic-agora.terra.money/dokwon/32/28_2.png) [@dokwon](https://classic-agora.terra.money/u/dokwon)\
**Post date:** [August 11, 2021, 8:56am UTC](https://classic-agora.terra.money/t/columbus-5-mainnet-upgrade-proposal-and-recommendations/1840/1 "2021-08-11T08:56:17Z")

</div>

## Columbus-5 Launch 🚀

As discussed in the [agora post](https://classic-agora.terra.money/t/terra-core-priorities-for-q1-q2-2021/388), `columbus-5` is ready now to launch. `columbus-5` will use Terra Core [v0.5.0](https://github.com/terra-money/core/releases/tag/v0.5.0) which integrates CosmosSDK [v0.43.0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0) and CosmWasm [v0.16.0](http://github.com/CosmWasm/cosmwasm/releases/tag/v0.16.0).

## Release Binary

[https://github.com/terra-money/core/releases/tag/v0.5.0](https://github.com/terra-money/core/releases/tag/v0.5.0)

```bash
$ 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](https://github.com/terra-money/testnet/tree/master/bombay-9)

## Major Updates

1. Bump CosmosSDK to [v0.43.0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0) (Stargate)
2. Bump CosmWasm to [v0.16.0](https://github.com/CosmWasm/cosmwasm/releases/tag/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](https://github.com/cosmos/ibc-go/releases/tag/v1.0.0)

## **Breaking Changes**

CosmosSDK breaking changes: [here](https://docs.cosmos.network/master/migrations/rest.html)

Wallet Migration Guide: [here](https://github.com/terra-money/mainnet/wiki/Columbus-5-Wallet-Migration-Guide)

Contract Migration Guide: [here](https://github.com/terra-money/mainnet/wiki/Columbus-5-Contract-Migration-Guide)

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](https://github.com/terra-money/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:

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

```

Or broadcast a transaction using `terra.js@^2`

```nohighlight
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.
