比特币源码研读(3)——AppInitMain()程序初始化设置

AppInitMain()函数在init.cpp文件,做的事情非常多,主要的有应用程序初始化、验证钱包数据库完整性、网络初始化、下载区块数据、加载钱包、数据目录维护、导入区块、开启节点。今天均益先说一下应用程序初始化
AppInitMain() 1

一、开启日志记录

  1. 检查参数-shrinkdebugfile,是否减少日志文件
  2. 打开日志文件,开始记录
  3. 检查-datadir,是否是相对路径,如果是,会打印提示信息
  4. InitSignatureCache(),初始化签名缓存
  5. InitScriptExecutionCache(),初始化脚本执行缓存

二、启动轻量级任务调度线程

通过boost开启多线程,接收RPC命令

三、启动RPC服务

刚开始会启动一个“热身”模式,当初始化完成,“热身”模式关闭,RPC服务真正开启

Leave a Reply

Your email address will not be published. Required fields are marked *