缘起

优质
小牛编辑
130浏览
2023-12-01

最近工作时间稍微空闲一些, 本来是想写一些关于以太坊的源码分析,一来 ethereum 的实现过于复杂, 二来网上的资源也是比较丰富的。 有段时间在研究数据如何上链的问题是接触到了一个叫做bigchaindb 的项目。发现此项目是基于tendermint引擎的。 逐渐接触到了tendermint。 我想每一个区块链行业的从业者应该都有实现一条公链的想法。tendermint正好满足了所有的功能。不用去自己写P2P网络, 不用去实现复杂的共识算法,不用研究如何对区块打包和存储。 只需要实现几个特定的接口就可以实现一个全新的链。

在基于tendermint实现了一个简(无)单(用)的公链之后,愈发想研究一下tendermint的技术细节。所以就有了现在这个源码分析的文章。目前已经通读和理解了大部分的代码, 我是按着模块来阅读的。目前已经看完了P2P, Mempool, Blockchain, State, Consensue。 很多模块的代码注释和文档都比较全面对于阅读源码非常有帮助。当然也有些模块注释很不明确需要自己琢磨许久才能明确其功能。我会逐渐将其落实为文档, 期望能给看到这篇文章的同学提供一些帮助。