# config/config.toml
[consensus]
...
timeout_propose = "3s"
timeout_propose_delta = "500ms"
timeout_prevote = "1s"
timeout_prevote_delta = "500ms"
timeout_precommit = "1s"
timeout_precommit_delta = "500ms"
timeout_commit = "1s"
There’s a variety of information about timeouts in https://tendermint.com/docs/tendermint-core/running-in-production.html
You can also find more detailed technical explanation in the spec: https://arxiv.org/abs/1807.04938
Note that in a successful round, the only timeout that we absolutely wait no matter what is timeout_commit
.
Here’s a brief summary of the timeouts:
- timeout_propose = how long we wait for a proposal block before prevoting nil
- timeout_propose_delta = how much timeout_propose increases with each round
- timeout_prevote = how long we wait after receiving +2/3 prevotes for “anything” (ie. not a single block or nil)
- timeout_prevote_delta = how much the timeout_prevote increases with each round
- timeout_precommit = how long we wait after receiving +2/3 precommits for “anything” (ie. not a single block or nil)
- timeout_precommit_delta = how much the timeout_precommit increases with each round
- timeout_commit = how long we wait after committing a block, before starting on the new height (this gives us a chance to receive some more precommits, even though we already have +2/3)
Author: Ethan Buchman
Originally posted on StackOverflow: https://stackoverflow.com/a/52881658/820520