zebra_consensus

Module router

source
Expand description

Top-level semantic block verification for Zebra.

Verifies blocks using the CheckpointVerifier or full SemanticBlockVerifier, depending on the config and block height.

§Correctness

Block and transaction verification requests should be wrapped in a timeout, because:

  • checkpoint verification waits for previous blocks, and
  • full block and transaction verification wait for UTXOs from previous blocks.

Otherwise, verification of out-of-order and invalid blocks and transactions can hang indefinitely.

Structs§

  • The background task handles for zebra-consensus verifier initialization.
  • The block verifier router routes requests to either the checkpoint verifier or the semantic block verifier, depending on the maximum checkpoint height.

Enums§

  • An error while semantically verifying a block.

Constants§

Functions§

  • Initialize block and transaction verification services.
  • Parses the checkpoint list for network and config. Returns the checkpoint list and maximum checkpoint height.
  • Calls init with a closed mempool setup channel for conciseness in tests.