MCPcopy Index your code
hub / github.com/bitcoindevkit/rust-esplora-client

github.com/bitcoindevkit/rust-esplora-client @v0.13.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.13.0 ↗ · + Follow
203 symbols 615 edges 10 files 124 documented · 61%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

rust-esplora-client

<a href="https://crates.io/crates/esplora-client"><img src="https://img.shields.io/crates/v/esplora-client.svg"/></a>
<a href="https://docs.rs/esplora-client"><img src="https://img.shields.io/badge/docs.rs-esplora--client-blue"/></a>
<a href="https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html"><img src="https://img.shields.io/badge/MSRV-1.75.0%2B-orange.svg"/></a>
<a href="https://github.com/bitcoindevkit/rust-esplora-client/blob/master/LICENSE.md"><img src="https://img.shields.io/badge/License-MIT%2FApache--2.0-red.svg"/></a>
<a href="https://github.com/bitcoindevkit/rust-esplora-client/actions/workflows/rust.yml"><img src="https://github.com/bitcoindevkit/rust-esplora-client/actions/workflows/rust.yml/badge.svg"></a>

Asynchronous and blocking clients and types for interacting with Esplora servers over HTTP.

Developing

This project uses just for command running, and cargo-rbmt to manage everything related to cargo, such as formatting, linting, testing and CI. To install them, run:

~$ cargo install just

~$ cargo install cargo-rbmt

A justfile is provided for convenience. Run just to see available commands:

~$ just
> rust-esplora-client
> Bitcoin Esplora API client library

Available recipes:
    audit      # Run `cargo audit` [alias: a]
    build      # Build `rust-esplora-client` [alias: b]
    check      # Check code formatting, compilation, and linting [alias: c]
    check-sigs # Checks whether all commits in this branch are signed [alias: cs]
    doc        # Generate documentation [alias: d]
    doc-open   # Generate and open documentation [alias: do]
    fmt        # Format code [alias: f]
    lock       # Regenerate Cargo-recent.lock and Cargo-minimal.lock [alias: l]
    pre-push   # Run pre-push checks [alias: p]
    test       # Run tests [alias: t]
    zizmor     # Run Zizmor Static Analysis [alias: z]

Minimum Supported Rust Version

This library should compile with any combination of features on Rust 1.75.0.

To build with the MSRV toolchain, copy Cargo-minimal.lock to Cargo.lock.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Extension points exported contracts — how you extend this code

Sleeper (Interface)
A trait for abstracting over async sleep implementations. [`AsyncClient`] uses this trait to wait between retry attempt [1 …
src/async.rs

Core symbols most depended-on inside this repo

bitcoind_client
called by 36
tests/testenv/mod.rs
setup_clients
called by 32
tests/testenv/mod.rs
get_response_json
called by 21
src/async.rs
get_response_json
called by 21
src/blocking.rs
mine_and_wait
called by 19
tests/testenv/mod.rs
get_legacy_address
called by 19
tests/testenv/mod.rs
is_success
called by 10
src/lib.rs
get_block_hash
called by 8
src/async.rs

Shape

Method 126
Function 49
Class 26
Enum 1
Interface 1

Languages

Rust100%

Modules by API surface

src/async.rs52 symbols
src/blocking.rs48 symbols
src/api.rs28 symbols
src/lib.rs21 symbols
tests/testenv/mod.rs20 symbols
tests/transaction.rs13 symbols
tests/block.rs12 symbols
tests/scripthash.rs3 symbols
tests/mempool.rs3 symbols
tests/address.rs3 symbols

For agents

$ claude mcp add rust-esplora-client \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page