AppInitMain()函数在init.cpp文件,做的事情非常多,主要的有应用程序初始化、验证钱包数据库完整性、网络初始化、下载区块数据、加载钱包、数据目录维护、导入区块、开启节点。今天均益先说一下应用程序初始化
一、开启日志记录
- 检查参数-shrinkdebugfile,是否减少日志文件
- 打开日志文件,开始记录
- 检查-datadir,是否是相对路径,如果是,会打印提示信息
- InitSignatureCache(),初始化签名缓存
- InitScriptExecutionCache(),初始化脚本执行缓存
二、启动轻量级任务调度线程
通过boost开启多线程,接收RPC命令
三、启动RPC服务
刚开始会启动一个“热身”模式,当初始化完成,“热身”模式关闭,RPC服务真正开启