这部分将会对tendermint的源代码进行探究

tendermint的主要的模块示意图如下:
modules.jpeg

  • node是整个tendermint的启动节点的命令,在这里可以看见所有的数据,所有的模块都将为node模块提供服务。
  • evidence模块为每一个peer收到的数据提供验证的功能
  • config是配置拂去文件,主要完成的是读取tendermint的配置文件
  • blockchain主要完成的是更新当前的链的state
  • consensus模块主要实现的是共识,为blockchain模块提供服务
  • state模块主要的工作是当前的整个区块链的状态的记录和存储
  • p2p模块主要实现的是底层饿数据通信
  • mempool主要是极限的是接收到来自应用的或者其他peer的tx,然后保存在本地
  • proxy主要完成的事一个代理工作,tendermint于app进行通信的时候,主要是通过proxy来完成的
  • rpc是proxy的底层实现,proxy主要通过的是websocket来实现的