FISCO BCOS源码启动顺序

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FISCO BCOS源码启动顺序相关的知识,希望对你有一定的参考价值。

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

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

 

启动顺序如下:

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

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

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

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

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

 

初始化完成之后,

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

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

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

Sealer线程从txpool获取交易,

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

 

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

以上是关于FISCO BCOS源码启动顺序的主要内容,如果未能解决你的问题,请参考以下文章

FISCO BCOS源码编译源码 获取FISCO BCOS可执行程序

FISCO BCOS离线搭建单机单群组4节点

FISCO BCOS 负载均衡

FISCO BCOS源码代码目录结构

安装FISCO-BCOS的那些坑

FISCO BCOS源码基本概念