blockbook is a Rust client for the Blockbook block explorer.
It provides both REST and WebSocket clients to access Blockbook APIs in a type-safe manner.
#[tokio::main]asyncfnmain(){let client = blockbook::Client::new("https://myblockbook.com".parse().unwrap());// query the Genesis block hashlet genesis_hash = client
.block_hash(blockbook::Height::from_consensus(0).unwrap()).await?;assert_eq!(
genesis_hash.to_string(),"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f");// query the full blocklet genesis = client.block_by_hash(&genesis_hash).await?;assert_eq!(genesis.previous_block_hash,None);// inspect the first coinbase transactionlet tx = genesis.txs.get(0).unwrap();assert!((tx.vout.get(0).unwrap().value.to_btc() - 50.0).abs() < f64::EPSILON);}See the crate documentation for more examples.
The currently supported version of Blockbook is commit 95ee9b5b.
Currently, blockbook only provides Bitcoin-specific APIs.
All tests need a BLOCKBOOK_SERVER environment variable set:
BLOCKBOOK_SERVER=myblockbook.com cargo test -- --include-ignoredThis crate is developed and maintained by 21 Analytics.
This project is licensed under the MIT license.