Module zebrad::components::mempool
source ยท Expand description
Zebra mempool.
A zebrad application component that manages the active collection, reception, gossip, verification, in-memory storage, eviction, and rejection of unmined Zcash transactions (those that have not been confirmed in a mined block on the blockchain).
Major parts of the mempool include:
- Mempool Service
- activates when the syncer is near the chain tip
- spawns download and verify tasks for each crawled or gossiped transaction
- handles in-memory storage of unmined transactions
- Crawler
- runs in the background to periodically poll peers for fresh unmined transactions
- Queue Checker
- runs in the background, polling the mempool to store newly verified transactions
- Transaction Gossip Task
- runs in the background and gossips newly added mempool transactions to peers
Re-exportsยง
pub use crate::BoxError;
pub use config::Config;
pub use gossip::gossip_mempool_transaction_id;
Modulesยง
- User-configurable mempool parameters.
- crawler ๐Zebra Mempool crawler.
- Transaction downloader and verifier.
- error ๐Errors that can occur when interacting with the mempool.
- A task that gossips any
zebra_chain::transaction::UnminedTxId
that enters the mempool to peers. - pending_
outputs ๐Pendingtransparent::Output
tracker forAwaitOutput
requests. - queue_
checker ๐Zebra Mempool queue checker. - storage ๐Mempool transaction storage.
Structsยง
- The mempool transaction crawler.
- Mempool async management and query service.
- The mempool queue checker.
- Hold mempool verified and rejected mempool transactions.
Enumsยง
- Active
State ๐The state of the mempool. - Transactions rejected based on transaction authorizing data (scripts, proofs, signatures), or lock times. These rejections are only valid for the current tip.
- Mempool errors.
- Transactions rejected based only on their effects (spends, outputs, transaction header). These rejections are valid while the current chain continues to grow.
- Transactions rejected based only on their effects (spends, outputs, transaction header). These rejections are only valid for the current tip.
Type Aliasesยง
- Inbound
TxDownloads ๐ - Outbound ๐
- State ๐
- TxVerifier ๐