tendermint 源码阅读(初识tendermint)

本文介绍了tendermint的基本原理,它采用PBFT共识算法,与自定义app交互处理交易逻辑。文章概述了check、begin block、deliver、end block和commit五个步骤,并简单解析了tendermint的共识过程,包括验证者和三轮投票机制。此外,还提到了代码目录结构和推荐的监控系统prometheus。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是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,也就是会真正的入块,无论执行结果成功失败
  • end block,结束一个区块,这时这个区块里面的数据一定固定了
  • commit,最终的步骤,将所有数据保存

这就是每一步的基本上需要做的内容,如果大家没有基础,这里先记一下有这几步,以后我们阅读源码时会更加详细的讲解。

我们再说一下tendermint的共识,同样看一下图片:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值