#bitcoin #self-hosted #wrapper #blockstream

esplora-api

Simple wrapper to use Blockstream API or self hosted Esplora API

1 unstable release

0.1.0 Oct 30, 2020

#42 in #self-hosted

MIT license

86KB
792 lines

Rust wrapper for Blockstream Esplora API

codecov Actions Status

Description

This library provide a simple wrapper to use Blockstream API or self hosted Esplora - Electrs API.

Requirements

sudo apt install libssl-dev

Dependencies

Use

Async implementation

// Cargo.toml
[dependencies]
esplora-api = { path ="./../Elecrts-wrapper" }
tokio = { version = "0.2", features = ["macros"] }
// Main.rs
use esplora_api;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>>{
    let client = esplora_api::async_impl::ApiClient::new("https://blockstream.info/testnet/api/", None).unwrap();
    let res = client.get_address("n1vgV8XmoggmRXzW3hGD8ZNTAgvhcwT4Gk").await?;
    println!("{:?}",res);
    Ok(())
}

Blocking implementation

// Cargo.toml
[dependencies]
esplora-api = { path ="./../Elecrts-wrapper", features=["blocking"]  }
// Main.rs
pub use esplora_api;
fn main(){
    let client = esplora_api::blocking::client::ApiClient::new("https://blockstream.info/testnet/api/", None).unwrap();
    let res = client.get_address("n1vgV8XmoggmRXzW3hGD8ZNTAgvhcwT4Gk").unwrap();
    println!("{:?}",res);
}

Dependencies

~4–9MB
~165K SLoC