|
|
|
@ -1777,7 +1777,17 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
|
|
|
|
|
|
|
|
|
|
// ********************************************************* Step 13: finished
|
|
|
|
|
|
|
|
|
|
// At this point, the RPC is "started", but still in warmup, which means it
|
|
|
|
|
// cannot yet be called. Before we make it callable, we need to make sure
|
|
|
|
|
// that the RPC's view of the best block is valid and consistent with
|
|
|
|
|
// ChainstateManager's ActiveTip.
|
|
|
|
|
//
|
|
|
|
|
// If we do not do this, RPC's view of the best block will be height=0 and
|
|
|
|
|
// hash=0x0. This will lead to erroroneous responses for things like
|
|
|
|
|
// waitforblockheight.
|
|
|
|
|
RPCNotifyBlockChange(chainman.ActiveTip());
|
|
|
|
|
SetRPCWarmupFinished();
|
|
|
|
|
|
|
|
|
|
uiInterface.InitMessage(_("Done loading").translated);
|
|
|
|
|
|
|
|
|
|
for (const auto& client : node.chain_clients) {
|
|
|
|
|