zebrad::components::sync

Function gossip_best_tip_block_hashes

source
pub async fn gossip_best_tip_block_hashes<ZN>(
    sync_status: SyncStatus,
    chain_state: ChainTipChange,
    broadcast_network: ZN,
) -> Result<(), BlockGossipError>
where ZN: Service<Request, Response = Response, Error = BoxError> + Send + Clone + 'static, ZN::Future: Send,
Expand description

Run continuously, gossiping newly verified block::Hashes to peers.

Once the state has reached the chain tip, broadcast the block::Hashes of newly verified blocks to all ready peers.

Blocks are only gossiped if they are:

  • on the best chain, and
  • the most recent block verified since the last gossip.

In particular, if a lot of blocks are committed at the same time, gossips will be disabled or skipped until the state reaches the latest tip.