Files
brk/crates/brk_mempool/examples/mempool.rs
2026-05-07 18:56:44 +02:00

51 lines
1.4 KiB
Rust

use std::{thread, time::Duration};
use brk_error::Result;
use brk_mempool::Mempool;
use brk_rpc::{Auth, Client};
fn main() -> Result<()> {
brk_logger::init(None)?;
let bitcoin_dir = Client::default_bitcoin_path();
let client = Client::new(
Client::default_url(),
Auth::CookieFile(bitcoin_dir.join(".cookie")),
)?;
let mempool = Mempool::new(&client);
let mempool_clone = mempool.clone();
thread::spawn(move || {
mempool_clone.start();
});
loop {
thread::sleep(Duration::from_secs(5));
let info_count = mempool.info().count;
let stats = mempool.stats();
let snapshot = mempool.snapshot();
let blocks_tx_total: usize = snapshot.blocks.iter().map(|b| b.len()).sum();
println!(
"info.count={} txs={} unresolved={} addrs={} outpoints={} \
graveyard.tombstones={} graveyard.order={} \
snap.txs.len={} snap.blocks={} snap.blocks_txs={} \
rebuilds={} skip.clean={}",
info_count,
stats.txs,
stats.unresolved,
stats.addrs,
stats.outpoint_spends,
stats.graveyard_tombstones,
stats.graveyard_order,
snapshot.txs.len(),
snapshot.blocks.len(),
blocks_tx_total,
stats.rebuilds,
stats.skip_cleans,
);
}
}