区块链网站模板源码分享是什么 区块链网页模板

各位老铁们,大家好,今天由我来为大家分享区块链网站模板源码分享是什么,以及区块链网页模板的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

这是tendermint的部分的第一个文章,我们先说一下tendermint的基本原理,以及阅读源码我们所要掌握的一些基本内容。

tendermint共识算法为PBFT,实用拜占庭容错算法,其内部的实现过程我们在以后阅读源码时会说。使用tendermint我们需要自己实现一个app,用来处理具体交易的逻辑程序。tendermint不会对任何交易做处理,也就是说,假如有一笔转账的交易,temdermint不会处理两个账户的余额,而是将这笔交易数据发送给我们自己的app,我们来处理并且存储相应的数据。

对于tendermint与我们的app,其过程有如下几步:check、beginblock、deliver、endblock和commit,我们先看一个图片:

图片来源于网络

这个图片形象的说明了其过程。这里我简单说一下这里面每一个步骤,详细的我会再后面的文章中写。

check,对于每一笔交易,tendermint都会先将交易发送给我们的app(abci-app),处理后将结果返回tendermintbeginblock,开始一个区块,abci-app区块高度与tendermint一定是一致的deliver,对于check成功的交易才会deliver,也就是会真正的入块,无论执行结果成功失败endblock,结束一个区块,这时这个区块里面的数据一定固定了commit,最终的步骤,将所有数据保存

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

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

图片来源于网络

上面的图片是我在网上找的,很形象,大家可以试着理解一下,后续我会一步一步的说。

其中对于参与投票的我们叫做验证者(validator),可以提案,投票等,投票过程有三轮,第一轮预投票(PreVote),超过2/3认可后进入第二轮预提交(PreCommit),超过2/3认可后进入最后一轮正式提交(Commit),也就是上面图片的内容。

我们介绍了两部分,一个是tendermint与abci-app的交互,和tendermint的共识,如果是刚接触的同学,可以先记下来再慢慢理解,后面我们对于每一步都会详细的讲解,以及对应代码是如何实现的。

这里我们再看一下其代码的基本目录:

tendermint的代码目录

prometheus是我单独下载的,tendermint用到了,就是一个日志监控系统。

大家可以去github把代码下载下来,个人觉得代码中有很多值得学习的地方,所以想和大家分享下。今天就写这么多,以后更多详细的内容会持续更新,如果对区块链感兴趣,记得关注(公众号:Go语言之美,更多经常内容持续更新中)~

如果你还想了解更多这方面的信息,记得收藏关注本站。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平