Tendermint 的三种应用状态

The three Tendermint application states

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

Note that messages may be sent concurrently across all connections - a typical application will thus maintain a distinct state for each connection. They may be referred to as the DeliverTx state, the CheckTx state, and the Commit state respectively.

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

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

在文档中进一步搜索后,我发现以下页面解释得非常好。

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

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

https://github.com/6thc/tendermint-cas-demo

也有很好的解释