系统启动流程第十三步

如何接入比特币网络以及原理分析

以下内容为系统启动过程中,每一步骤的详细分析。

第13步,结束启动(src/init.cpp::AppInitMain()

  1. 调用 SetRPCWarmupFinished() 方法,设置热身结束。

    方法内部主要设置 fRPCInWarmup 变量为假,表示热身结束。

  2. 调用钱包接口对象的 Start 方法,开始进行钱包相关的处理,并定时刷新钱包数据到数据库中。

    g_wallet_init_interface.Start(scheduler);
    

    方法内部调用 GetWallets 方法,返回钱包集合 vpwallets,调用每个钱包的 postInitProcess 方法,进行初始后的处理。主要是把钱包中存在,但是交易池中不存在的交易添加到交易池中。然后,调用调度器定时调用 MaybeCompactWalletDB 方法,刷新钱包数据到数据库中。

    代码如下:

    for (const std::shared_ptr& pwallet : GetWallets()) {
        pwallet->postInitProcess();
    }
    scheduler.scheduleEvery(MaybeCompactWalletDB, 500);
    

后记

由于本人水平所限,文中错误在所难免,欢迎您踊跃指出错误,在下感激不尽。我的微信联系方式:joepeak。

原创不易,尤其寒冬,欢迎赞助我一杯咖啡。

系统启动流程第十三步_第1张图片
比特币
系统启动流程第十三步_第2张图片
微信
系统启动流程第十三步_第3张图片
支付宝

版权声明:自由转载-非商用-非衍生-保持署名(创意共享4.0许可证)

你可能感兴趣的:(系统启动流程第十三步)