mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-02-24 15:02:17 +01:00
Only request syncing compact filter headers / filters if our tip isn't stale (#5055)
This commit is contained in:
parent
9f129c2fe5
commit
7beed5a00d
1 changed files with 13 additions and 5 deletions
|
@ -97,7 +97,6 @@ case class NeutrinoNode(
|
|||
BlockHeaderDAO()(executionContext, chainConfig).getBlockchains()
|
||||
for {
|
||||
chainApi <- chainApiFromDb()
|
||||
_ <- chainApi.getBestBlockHash()
|
||||
_ <- chainApi.setSyncing(true)
|
||||
_ = logger.info(s"Fetching peers to sync with...")
|
||||
syncPeer <- peerManager.randomPeerWithService(
|
||||
|
@ -113,10 +112,19 @@ case class NeutrinoNode(
|
|||
// Get all of our cached headers in case of a reorg
|
||||
cachedHeaders = blockchains.flatMap(_.headers).map(_.hashBE.flip)
|
||||
_ <- peerMsgSender.sendGetHeadersMessage(cachedHeaders)
|
||||
_ <- syncFilters(bestFilterHeaderOpt = bestFilterHeaderOpt,
|
||||
bestFilterOpt = bestFilterOpt,
|
||||
bestBlockHeader = header,
|
||||
chainApi = chainApi)
|
||||
hasStaleTip <- chainApi.isTipStale()
|
||||
_ <- {
|
||||
if (hasStaleTip) {
|
||||
//if we have a stale tip, we will request to sync filter headers / filters
|
||||
//after we are done syncing block headers
|
||||
Future.unit
|
||||
} else {
|
||||
syncFilters(bestFilterHeaderOpt = bestFilterHeaderOpt,
|
||||
bestFilterOpt = bestFilterOpt,
|
||||
bestBlockHeader = header,
|
||||
chainApi = chainApi)
|
||||
}
|
||||
}
|
||||
} yield {
|
||||
logger.info(
|
||||
s"Starting sync node, height=${header.height} hash=${header.hashBE.hex}")
|
||||
|
|
Loading…
Add table
Reference in a new issue