Files
brk/crates/brk_parser/examples/main.rs
2025-03-13 17:11:04 +01:00

58 lines
1.1 KiB
Rust

use bitcoincore_rpc::{Auth, Client};
use brk_core::{Height, default_bitcoin_path};
use brk_parser::Parser;
fn main() {
let i = std::time::Instant::now();
let bitcoin_dir = default_bitcoin_path();
let rpc = Box::leak(Box::new(
Client::new(
"http://localhost:8332",
Auth::CookieFile(bitcoin_dir.join(".cookie")),
)
.unwrap(),
));
let start = None;
let end = None;
let parser = Parser::new(bitcoin_dir.join("blocks"), rpc);
parser
.parse(start, end)
.iter()
.for_each(|(height, _block, hash)| {
println!("{height}: {hash}");
});
println!(
"{}",
parser
.get(Height::new(0))
.txdata
.first()
.unwrap()
.output
.first()
.unwrap()
.script_pubkey
);
println!(
"{}",
parser
.get(Height::new(840_000))
.txdata
.first()
.unwrap()
.output
.first()
.unwrap()
.value
);
dbg!(i.elapsed());
}