1use std::path::Path;
2
3use bitcoincore_rpc::{Auth, Client};
4use brk_error::Result;
5use brk_parser::Parser;
6
7#[allow(clippy::needless_doctest_main)]
8fn main() -> Result<()> {
9 let i = std::time::Instant::now();
10
11 let bitcoin_dir = Path::new(&std::env::var("HOME").unwrap())
12 .join("Library")
13 .join("Application Support")
14 .join("Bitcoin");
15
16 let rpc = Box::leak(Box::new(Client::new(
17 "http://localhost:8332",
18 Auth::CookieFile(bitcoin_dir.join(".cookie")),
19 )?));
20
21 let parser = Parser::new(bitcoin_dir.join("blocks"), rpc);
22
23 let start = None;
24 let end = None;
26 parser.parse(start, end).iter().for_each(|block| {
27 println!("{}: {}", block.height(), block.hash());
28 });
29
30 dbg!(i.elapsed());
45
46 Ok(())
47}