More bestblock records in wallets
Write bestblock records in wallets: * Every 20160 blocks synced, no matter what (before: none during IBD) * Every 144 blocks after IBD (before: for every block, slow) * When creating a new wallet * At shutdown This should result in far fewer spurious rescans.
This commit is contained in:
parent
6b99cfae3c
commit
95c7db3dbf
@ -100,6 +100,7 @@ void Shutdown()
|
||||
StopNode();
|
||||
{
|
||||
LOCK(cs_main);
|
||||
pwalletMain->SetBestChain(CBlockLocator(pindexBest));
|
||||
if (pblocktree)
|
||||
pblocktree->Flush();
|
||||
if (pcoinsTip)
|
||||
@ -998,6 +999,8 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
if (!pwalletMain->SetAddressBookName(pwalletMain->vchDefaultKey.GetID(), ""))
|
||||
strErrors << _("Cannot write default address") << "\n";
|
||||
}
|
||||
|
||||
pwalletMain->SetBestChain(CBlockLocator(pindexBest));
|
||||
}
|
||||
|
||||
printf("%s", strErrors.str().c_str());
|
||||
|
@ -1870,7 +1870,7 @@ bool SetBestChain(CValidationState &state, CBlockIndex* pindexNew)
|
||||
}
|
||||
|
||||
// Update best block in wallet (so we can detect restored wallets)
|
||||
if (!fIsInitialDownload)
|
||||
if ((pindexNew->nHeight % 20160) == 0 || (!fIsInitialDownload && (pindexNew->nHeight % 144) == 0))
|
||||
{
|
||||
const CBlockLocator locator(pindexNew);
|
||||
::SetBestChain(locator);
|
||||
|
Loading…
Reference in New Issue
Block a user