Crate esplora_client

source ·
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) using the default reqwest TLS backend.
  • async-https-native enables reqwest, the async client with support for proxying and TLS (SSL) using the platform’s native TLS backend (likely OpenSSL).
  • async-https-rustls enables reqwest, the async client with support for proxying and TLS (SSL) using the rustls TLS backend.
  • async-https-rustls-manual-roots enables reqwest, the async client with support for proxying and TLS (SSL) using the rustls TLS backend without using its the default root certificates.

Re-exports

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.