Module zebrad::components::sync
source · Expand description
The syncer downloads and verifies large numbers of blocks from peers to Zebra.
It is used when Zebra is a long way behind the current chain tip.
Modules
A download stream for Zebra’s block syncer.
gossip 🔒
A task that gossips newly verified
block::Hash
es to peers.progress 🔒
Progress tracking for blockchain syncing.
A channel which holds a list of recent syncer response lengths.
status 🔒
Syncer chain tip status, based on recent block locator responses from peers.
Structs
Helps work around defects in the bitcoin protocol by checking whether
the returned hashes actually extend a chain tip.
Sync configuration section.
A helper type which holds a list of recent syncer response lengths.
These sync lengths can be used to work out if Zebra has reached the end of the chain.
A helper type to determine if the synchronizer has likely reached the chain tip.
Enums
Errors that can occur when gossiping committed blocks
Constants
Controls how many times we will retry each block download.
Controls how long we wait for a block download request to complete.
Controls how long we wait for a block verify request to complete.
The default for the user-specified lookahead limit.
FANOUT 🔒
Controls the number of peers used for each ObtainTips and ExtendTips request.
A shorter timeout used for the first few blocks after the final checkpoint.
The number of blocks after the final checkpoint that get the shorter timeout.
Controls how long we wait to retry a failed attempt to download
and verify the genesis block.
The expected maximum number of hashes in an ObtainTips or ExtendTips response.
A lower bound on the user-specified checkpoint verification concurrency limit.
A lower bound on the user-specified concurrency limit.
Controls how long we wait to restart syncing after finishing a sync run.
Controls how long we wait for a tips response to return.
A multiplier used to calculate the extra number of blocks we allow in the
verifier, state, and block commit pipelines, on top of the lookahead limit.
Functions
Run continuously, gossiping newly verified
block::Hash
es to peers.Logs Zebra’s estimated progress towards the chain tip every minute or so.