首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >三个Tendermint应用程序状态

三个Tendermint应用程序状态
EN

Stack Overflow用户
提问于 2019-01-27 09:54:07
回答 2查看 169关注 0票数 1

我目前正在一个使用Tendermint的小型交易平台上工作,但我还不确定如何使用Tendermint应用程序状态。在https://tendermint.com/docs/app-dev/abci-spec.html#message-types下的Tendermint文档中,它说:

请注意,消息可以跨所有连接并发发送--一个典型的应用程序因此将为每个连接维护一个不同的状态。它们可以分别称为DeliverTx状态、CheckTx状态和提交状态。

我会给你们我对这三种状态应该如何使用的理解,希望你们能告诉我这是否正确。

  • DeliverTx状态:在ABCI应用程序接收到每个有效的DeliverTx请求消息后,状态将被更新。如果事务无效(由拜占庭提议者包含),DeliverTx状态将重置为CommitTx状态,该状态在收到最后一条CommitTx消息时已经设置。
  • CommitTx状态:当ABCI应用程序接收到CommitTx消息时,CommitTx状态被设置为最新的DeliverTx状态。
  • CheckTx状态:可能用于DoS保护(将过去几秒钟通过CheckTx请求消息到达的事务数作为CheckTx状态存储,并且当每秒的事务数量过高时,CheckTx响应会拒绝事务进入备忘录池)。
  • 此外,每当查询应用程序(通过abci_query RPC端点)时,应用程序根据其CommitTx状态回答查询。

我对这三种状态的看法可能已经暗示,当应用程序接收到DeliverTx请求时,我不确定会发生什么,但是交付的事务是无效的(这种情况甚至发生了吗?)提议、预留和预提交的整个过程如何与这些消息类型(CheckTx、DeliverTx、Commit)实际相关?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-29 17:11:35

如前所述,https://tendermint.com/docs/spec/abci/apps.html#state应该回答这个问题。

https://github.com/6thc/tendermint-cas-demo上也有一个很好的解释

票数 0
EN

Stack Overflow用户

发布于 2019-01-28 21:10:37

在文档中进一步搜索之后,我找到了下面的页面,它很好地解释了它。

https://tendermint.com/docs/spec/abci/apps.html#state

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54386880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档