您当前的位置: 首页 > 
  • 0浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

FISCO BCOS源码(2)启动顺序

软件工程小施同学 发布时间:2021-07-09 11:04:40 ,浏览量:0

区块链节点启动从main函数入口进入,

通过libinitializer模块初始化并启动各模块,

启动顺序如下:

../../../_images/IMG_5080.PNG

通过启动顺序可以知道FISCO BCOS的一个重要特性——支持多群组账本,每个群组是一个独立的Ledger模块,每个Ledger具有独立的存储、同步、共识处理功能。

完成初始化工作同时,系统将会启动若干线程(或者进程、协程,原理类似),这些线程包括网络监听、共识、消息同步等,可以结合代码分析与系统命令查看运行节点配合确定有哪些关键线程,搞清楚关键线程的工作机制就可以基本掌握区块链系统运行机制。

以FISCO BCOS为例,节点启动之后的关键线程以及他们之间的关系如下:

../../../_images/IMG_5081.PNG

 

初始化完成之后,

网络模块的Host线程将根据配置列表,主动与其他节点建立连接,并且持续监听来自其他节点的连接;

Sync线程开始相互发送区块高度,发现高度低于其他节点则开启下载逻辑;

RPC与Channel线程等待客户端发送请求,将收到的交易塞入txpool;

Sealer线程从txpool获取交易,

Consensus线程则开始处理共识消息包。

如此,整个区块链系统有条不紊地运转,完成客户端请求与分布式协作。

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.0800s