这是tendermint的部分的第一个文章,我们先说一下tendermint的基本原理,以及阅读源码我们所要掌握的一些基本内容。
tendermint共识算法为PBFT,实用拜占庭容错算法,其内部的实现过程我们在以后阅读源码时会说。使用tendermint我们需要自己实现一个app,用来处理具体交易的逻辑程序。tendermint不会对任何交易做处理,也就是说,假如有一笔转账的交易,temdermint不会处理两个账户的余额,而是将这笔交易数据发送给我们自己的app,我们来处理并且存储相应的数据。
对于tendermint与我们的app,其过程有如下几步:check、begin block、deliver、end block和commit,我们先看一个图片:
这个图片形象的说明了其过程。这里我简单说一下这里面每一个步骤,详细的我会再后面的文章中写。
- check,对于每一笔交易,tendermint都会先将交易发送给我们的app(abci-app),处理后将结果返回tendermint
- begin block,开始一个区块,abci-app区块高度与tendermint一定是一致的
- deliver,对于check成功的交易才会deliver,也就是