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

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

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