Tendermint 似乎缺少块创建时间的描述......
他们创建默认配置文件为
timeout_propose = 3000
timeout_propose_delta = 500
timeout_prevote = 1000
timeout_prevote_delta = 500
timeout_precommit = 1000
timeout_precommit_delta = 500
timeout_commit = 5000
Run Code Online (Sandbox Code Playgroud)
我阅读文档和代码。
所以在我的猜测中,如果tendermint在一轮中成功创建块,
timeout_propose + timeout_prevote + timeout_precommit = 5s 并等待 timeout_commit 5s...
所以块提交发生在 5s~10s 从而下一个块共识在 10s 后开始。
如果tendermint成功在两个回合,创造块
(timeout_propose + timeout_prevote + timeout_precommit)+(timeout_propose + timeout_propose_delta + timeout_prevote + timeout_prevot_delta + timeout_precommit + timeout_precommit_delta)= 5S + 6.5s = 11.5s和5秒的等待timeout_commit ......
所以块提交发生在 11.5s~16.5s,因此下一个区块共识在 16.5s 之后开始。我猜tendermint为每一轮添加增量超时。
我的猜测对吗?如果没有,配置文件中的超时究竟是什么意思?
感谢提问。
https://tendermint.com/docs/tendermint-core/running-in-production.html 中有各种关于超时的信息
您还可以在规范中找到更详细的技术说明:https : //arxiv.org/abs/1807.04938
请注意,在成功的回合中,我们绝对等待的唯一超时时间是timeout_commit。
以下是超时的简要摘要:
| 归档时间: |
|
| 查看次数: |
385 次 |
| 最近记录: |