Expand description

An extensible blocking/async Esplora client

This library provides an extensible blocking and async Esplora client to query Esplora’s backend.

The library provides the possibility to build a blocking client using ureq and an async client using reqwest. The library supports communicating to Esplora via a proxy and also using TLS (SSL) for secure communication.

Usage

You can create a blocking client as follows:

use esplora_client::Builder;
let builder = Builder::new("https://blockstream.info/testnet/api");
let blocking_client = builder.build_blocking();

Here is an example of how to create an asynchronous client.

use esplora_client::Builder;
let builder = Builder::new("https://blockstream.info/testnet/api");
let async_client = builder.build_async();

Features

By default the library enables all features. To specify specific features, set default-features to false in your Cargo.toml and specify the features you want. This will look like this:

esplora_client = { version = "*", default-features = false, features = ["blocking"] }

  • blocking enables ureq, the blocking client with proxy and TLS (SSL) capabilities.
  • async enables reqwest, the async client with proxy capabilities.
  • async-https enables reqwest, the async client with support for proxying and TLS (SSL).

Re-exports

pub use blocking::BlockingClient;
pub use async::AsyncClient;
pub use api::*;

Modules

structs from the esplora API
Esplora by way of reqwest HTTP client.
Esplora by way of ureq HTTP client.

Structs

Enums

Errors that can happen during a sync with Esplora

Functions

Get a fee value in sats/vbytes from the estimates that matches the confirmation target set as parameter.