2 unstable releases
0.2.0 | Nov 28, 2023 |
---|---|
0.1.1 | May 16, 2023 |
0.1.0 |
|
#302 in #bitcoin
115KB
2K
SLoC
Rust Blockbook client
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.
Usage example
#[tokio::main]
async fn main() {
let client = blockbook::Client::new("https://myblockbook.com".parse().unwrap());
// query the Genesis block hash
let genesis_hash = client
.block_hash(blockbook::Height::from_consensus(0).unwrap())
.await?;
assert_eq!(
genesis_hash.to_string(),
"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"
);
// query the full block
let genesis = client.block_by_hash(&genesis_hash).await?;
assert_eq!(genesis.previous_block_hash, None);
// inspect the first coinbase transaction
let 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.
Supported Blockbook version
The currently supported version of Blockbook is commit 95ee9b5b
.
Supported currencies
Currently, blockbook
only provides Bitcoin-specific APIs.
Running the tests
All tests need a BLOCKBOOK_SERVER
environment variable set:
BLOCKBOOK_SERVER=myblockbook.com cargo test -- --include-ignored
Authors
This crate is developed and maintained by 21 Analytics.
License
This project is licensed under the MIT license.
Dependencies
~15–33MB
~428K SLoC