# \[PROPOSAL #5\]\[ACCEPTED\] Transfer Enablement Proposal (Expedited Cosmos Upgrade Proposal)

**URL:** <https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884>\
**Category:** Signaling/Text\
**Created:** [April 18, 2019, 2:41pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884 "2019-04-18T14:41:52Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jack](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/jack/32/98_2.png) [@jack](https://forum.cosmos.network/u/jack)\
**Post date:** [April 18, 2019, 2:41pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/1 "2019-04-18T14:41:53Z")

</div>

- Moderator edit to add link to on-chain proposal: [Mintscan - Chain explorer by COSMOSTATION](https://www.mintscan.io/cosmos/proposals/5)

According to the expedited rules laid down in governance proposal #3 the following criteria needed to be met:

1. `v0.34.0` released by the development team
2. New testnet launched using that release.
3. No critical issues found during testing.

`v0.34.0` has been released, and the upgrade procedure that will be followed for mainnet was carried out on the `gaia-13002` test on April 8th. The network came up with no issues and has been running w/o problems since then. Seeing as the conditions of the expedited process have been followed, we propose the following upgrade path:

1. Final code hash for Hub 0.34 state machine is `0f7877c23b407e24e56056469e90fe6b8a78d84c`
2. Gaia-13003 is a successful test of the upgrade procedure and final code
3. State export from `cosmoshub-1` is at block `507915`
4. Genesis time will be `2019-04-22T17:00:00Z UTC`
5. Validators can generate the new genesis file by running

```auto
# must be run after the chain is stopped using v0.33.2
gaiad export —height=500000 —for-zero-height > cosmoshub-1-export.json 

# must be run after the upgrade to v0.34.0
python3 contrib/export/v0.33.x-to-v0.34.0.py —chain-id=cosmoshub-2 \
 —start-time=2019-04-22T17:00:00Z \
    cosmoshub-1-export.json > > genesis.json

```

---

<div class="post-metadata">

**Author:** ![ping](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/ping/32/108_2.png) [@ping](https://forum.cosmos.network/u/ping)\
**Post date:** [April 18, 2019, 2:46pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/2 "2019-04-18T14:46:51Z")

</div>

vote for yes.  
sounds good to me

---

<div class="post-metadata">

**Author:** ![CoinoneNode](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/coinonenode/32/423_2.png) [@CoinoneNode](https://forum.cosmos.network/u/CoinoneNode)\
**Post date:** [April 18, 2019, 2:49pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/3 "2019-04-18T14:49:58Z")

</div>

Sounds good to me! We are ready to go!

---

<div class="post-metadata">

**Author:** ![bez](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/bez/32/190_2.png) [@bez](https://forum.cosmos.network/u/bez)\
**Post date:** [April 18, 2019, 2:55pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/4 "2019-04-18T14:55:39Z")

</div>

A [gist](https://gist.github.com/alexanderbez/5e87886221eb304b9e85ad4b167c99c8) for complete upgrade instructions. Although, we will likely publish a new genesis file.

---

<div class="post-metadata">

**Author:** ![syncnode](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/syncnode/32/764_2.png) [@syncnode](https://forum.cosmos.network/u/syncnode)\
**Post date:** [April 18, 2019, 3:00pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/5 "2019-04-18T15:00:12Z")

</div>

Sounds good to me! I also vote for yes

---

<div class="post-metadata">

**Author:** ![dsgnsupporter](https://avatars.discourse-cdn.com/v4/letter/d/53a042/32.png) [@dsgnsupporter](https://forum.cosmos.network/u/dsgnsupporter)\
**Post date:** [April 18, 2019, 3:09pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/6 "2019-04-18T15:09:07Z")

</div>

500,000 block height

---

<div class="post-metadata">

**Author:** ![zaki](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/zaki/32/13_2.png) [@zaki](https://forum.cosmos.network/u/zaki)\
**Post date:** [April 18, 2019, 6:46pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/7 "2019-04-18T18:46:33Z")

</div>

There is some debate between about block for export.

@gamarin proposed exporting at block 507\_900 as this would be 10-12 hours closer to the target of 5pm GMT on April 22nd.

I’m in favor of block 500\_000 for the following reasons.

1. in 10 years, no one will remember why we did 507\_900 but people will care about the integrity of the token distribution in the Cosmos Hub. A round number will stand the test of history better.

2. Validators running full nodes with the default options are storing the last 100 blocks of state and every 10,000th block.  
[https://github.com/cosmos/cosmos-sdk/blob/develop/store/types/pruning.go#L34](https://github.com/cosmos/cosmos-sdk/blob/develop/store/types/pruning.go#L34)

Curious how other people feel? I don’t think planned downtime during this upgrade is a big deal.

---

<div class="post-metadata">

**Author:** ![gamarin](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/gamarin/32/660_2.png) [@gamarin](https://forum.cosmos.network/u/gamarin)\
**Post date:** [April 18, 2019, 7:50pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/8 "2019-04-18T19:50:17Z")

</div>

Block 507\_900 was calculated using stargazer’s displayed block time of 6s ([https://stargazer.certus.one/](https://stargazer.certus.one/)).

Apparently the real average block time is ~6.8sec, which changes the estimation entirely. With ~6.8sec block time, block 500\_000 happens ~1h before 5pm UTC, so it should work perfectly.

This solves the issue, I think we can go with block 500\_000.

---

<div class="post-metadata">

**Author:** ![pooch](https://avatars.discourse-cdn.com/v4/letter/p/dbc845/32.png) [@pooch](https://forum.cosmos.network/u/pooch)\
**Post date:** [April 18, 2019, 7:53pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/9 "2019-04-18T19:53:32Z")

</div>

What are you guys using for an average block time? By my calculation we have just 20 minutes to export, upgrade, and restart:

```
Export at block 500,000
Current block 451,614
Blocks to go 48,386
Seconds per block 7
Seconds to go 338,702
Unix time now 1,555,612,481
Unix time export 1,555,951,183
Unix time genesis 1,555,952,400

```

Seconds between export & genesis is 1,217, which is about 20 minutes. What am I doing wrong in this calculation or what am I not understanding about the export to genesis transition? 20 minutes doesn’t give much room for any kind of genesis file validation or upgrade error correction.

---

<div class="post-metadata">

**Author:** ![pooch](https://avatars.discourse-cdn.com/v4/letter/p/dbc845/32.png) [@pooch](https://forum.cosmos.network/u/pooch)\
**Post date:** [April 18, 2019, 7:55pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/10 "2019-04-18T19:55:08Z")

</div>

You answered my question as I was writing it. 🙂

---

<div class="post-metadata">

**Author:** ![Gavin](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/gavin/32/5602_2.png) [@Gavin](https://forum.cosmos.network/u/Gavin)\
**Post date:** [April 18, 2019, 8:08pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/11 "2019-04-18T20:08:10Z")

</div>

Thanks for clarifying! In this case, Figment Networks is also in favour of a block height of 500k 👍

---

<div class="post-metadata">

**Author:** ![pooch](https://avatars.discourse-cdn.com/v4/letter/p/dbc845/32.png) [@pooch](https://forum.cosmos.network/u/pooch)\
**Post date:** [April 18, 2019, 8:08pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/12 "2019-04-18T20:08:49Z")

</div>

I think the genesis time is too tight. I agree 100% with Zaki that planned downtime is not a big deal, so we should have a buffer of a few hours between export and genesis.

---

<div class="post-metadata">

**Author:** ![mattharrop](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@mattharrop](https://forum.cosmos.network/u/mattharrop)\
**Post date:** [April 18, 2019, 8:21pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/13 "2019-04-18T20:21:26Z")

</div>

By making your calculation at 7 seconds per block, aren’t you skewing your result to a later halt than actually planned? Block time is averaging 6.8s, so the halt should be ~9677 seconds earlier than you’re indicating. ~2 hours 40 minutes.

---

<div class="post-metadata">

**Author:** ![pooch](https://avatars.discourse-cdn.com/v4/letter/p/dbc845/32.png) [@pooch](https://forum.cosmos.network/u/pooch)\
**Post date:** [April 18, 2019, 8:25pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/14 "2019-04-18T20:25:24Z")

</div>

Is it not better to be conservative than aggressive in average block time?

---

<div class="post-metadata">

**Author:** ![mattharrop](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@mattharrop](https://forum.cosmos.network/u/mattharrop)\
**Post date:** [April 18, 2019, 8:40pm UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/15 "2019-04-18T20:40:48Z")

</div>

I don’t feel strongly about it, but block time has been averaging between 6.75 and 6.80 seconds for the last 48 hours. So seems like ~3 hours from halt to genesis, if my math is correct.

---

<div class="post-metadata">

**Author:** ![kwunyeung](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/kwunyeung/32/68_2.png) [@kwunyeung](https://forum.cosmos.network/u/kwunyeung)\
**Post date:** [April 19, 2019, 4:45am UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/16 "2019-04-19T04:45:01Z")

</div>

500,000 is fine. My calculation is similar to Matt. It’s about `83 hours` from now (at height `456,735`, taking `6.85s` block time), which will be around `22 Apr 3pm UTC`. There will only be a 2-hour room for validators to export the genesis file and upgrade software. This is too short for all validators to do the job on Easter Monday. I think at least an 8-hour window is needed for all validators to wake up and clear our minds to make sure we are doing things right.

---

<div class="post-metadata">

**Author:** ![Alex](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/alex/32/503_2.png) [@Alex](https://forum.cosmos.network/u/Alex)\
**Post date:** [April 19, 2019, 5:31am UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/17 "2019-04-19T05:31:51Z")

</div>

Is it correct that according to current conditions validators will have ~2,5h to upgrade the software?

---

<div class="post-metadata">

**Author:** ![Marker451](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/marker451/32/502_2.png) [@Marker451](https://forum.cosmos.network/u/Marker451)\
**Post date:** [April 19, 2019, 7:31am UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/18 "2019-04-19T07:31:12Z")

</div>

> [@jack](#):
>
> State export from `cosmoshub-1` is at block `507915`

what does 507915 mean?

---

<div class="post-metadata">

**Author:** ![zaki](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.cosmos.network/zaki/32/13_2.png) [@zaki](https://forum.cosmos.network/u/zaki)\
**Post date:** [April 19, 2019, 7:34am UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/19 "2019-04-19T07:34:47Z")

</div>

It was a mistake for

```auto
State export from cosmoshub-1 is at block 507915

```

to make it into proposal 5.

It was intended to be

```auto
State export from cosmoshub-1 is at block 500000

```

Immutability is hard but the whole point of the level of maturity of the system is we are writing human reabable text.

---

<div class="post-metadata">

**Author:** ![pooch](https://avatars.discourse-cdn.com/v4/letter/p/dbc845/32.png) [@pooch](https://forum.cosmos.network/u/pooch)\
**Post date:** [April 19, 2019, 7:52am UTC](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884/20 "2019-04-19T07:52:39Z")

</div>

I think a genesis time of 19:00:00Z can make everyone happy.

[Next page](https://forum.cosmos.network/t/proposal-5-accepted-transfer-enablement-proposal-expedited-cosmos-upgrade-proposal/1884.md?page=2)
