Cosmos-sdk: how to disable create_empty_blocks

Created on 30 Mar 2018  路  4Comments  路  Source: cosmos/cosmos-sdk

I set --consensus.create_empty_blocks = false via command flag, but basecoind still create empty blocks.

Most helpful comment

Currently the appHash changes every block, since the CommitMultiStore encodes the version and that version changes on every block. Due to that --consensus.create_empty_blocks = false does not work, with the current sdk. Tendermint expects that the appHash doesn't change and only then stops producing blocks.

@jaekwon @ebuchman What was the outcome of your discussion around the constantly changing appHash with the MultiStore? Also, do we want the functionality of no_empty_blocks? I think it would be nice to have the ability to only produce blocks every minute or so.

All 4 comments

Currently the appHash changes every block, since the CommitMultiStore encodes the version and that version changes on every block. Due to that --consensus.create_empty_blocks = false does not work, with the current sdk. Tendermint expects that the appHash doesn't change and only then stops producing blocks.

@jaekwon @ebuchman What was the outcome of your discussion around the constantly changing appHash with the MultiStore? Also, do we want the functionality of no_empty_blocks? I think it would be nice to have the ability to only produce blocks every minute or so.

Unfortunately it's not supported yet for the new Cosmos SDK since the app hash changes with every block.

I just opened a new issue to track it in Tendermint: https://github.com/tendermint/tendermint/issues/1392

I'll close this for now, and we can revisit once the functionality is available in Tendermint to support this.

Is there any update for this issue? According to tendermint/tendermint#1392, it should be fixed in sdk but not in tendermint.

No news? It seems a quite useful feature to avoid having the blockchain growing without transactions.

Was this page helpful?
0 / 5 - 0 ratings