#zmq #mempool #bitcoin

bitcoincore-zmqsequence

A rust library to listen zmq sequence msgs from bitcoin core

1 unstable release

0.1.0 Jun 22, 2023

#16 in #mempool

MIT/Apache

16KB
246 lines

bitcoincore-zmqsequence

A ZeroMQ pubsequence listener. Allows keeping a synchronized copy of a Bitcoin Core node's mempool. Example:

use anyhow::Result;
use bitcoincore_zmqsequence::ZmqSeqListener;
use ctrlc;
use std::str::FromStr;
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
use url::Url;


fn main() -> Result<()> {
    let checker = NodeChecker::new(&ClientConfig {
        cookie_auth_path: None,
        ip_addr: "localhost".to_string(),
        user: "anon".to_string(),
        passwd: "anon".to_string(),
    })?;

    println!("Waiting to node Ok");
    checker.wait_till_node_ok(2, false, Duration::from_secs(5))?;
    println!("Node Ok");

    let stop_th = Arc::new(AtomicBool::new(false));
    let stop_th2 = stop_th.clone();
    ctrlc::set_handler(move || stop_th2.store(true, Ordering::SeqCst))?;
    let zmqseqlistener = ZmqSeqListener::start(&Url::from_str("tcp://localhost:29000")?)?;
    while !stop_th.load(Ordering::SeqCst) {
        let kk = zmqseqlistener.rx.recv()?;
        println!("{:?}", kk);
    }
    Ok(())
}

Dependencies

~2.3–6.5MB
~107K SLoC

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy