#mempool #bitcoin #client #rust

mempool_rust

A Rust library for the Mempool bitcoin API

2 releases

0.1.1 Jan 9, 2023
0.1.0 Jan 9, 2023

#19 in #mempool

MIT license

10KB
108 lines

mempool_rust

⚠️: The library is under development, it is still missing a lot of features that will come soon. ⚠️

crates.io Documentation MIT/Apache-2 licensed CI Issues

An ergonomic, Mempool API Client for Rust.

Example

[dependencies]
tokio = { version = "1.0", features = ["full"] }
mempool_rust = "0.1"

And then the code:

use mempool_rust::MempoolClient;

#[tokio::main]
async fn main() {
    let client = MempoolClient::new(
        "https://mempool.space",
        None,
    )
    .unwrap();

    // OR with tor
    let client = MempoolClient::new(
        "http://url.onion",
        Some("socks5h://127.0.0.1:9050"),
    )
    .unwrap();

    let blocks = client.get_blocks(None).await.unwrap();

    println!("{:#?}", blocks);
}

Key features

  • Tor support
  • General
    • GET difficulty adjustment
  • Address
    • GET address
    • GET address transactions
    • GET address transactions chain
    • GET address transactions mempool
    • GET address UTXO
  • Blocks
    • GET block
    • GET block header
    • GET block height
    • GET block raw
    • GET block status
    • GET block tip height
    • GET block tip hash
    • GET block transaction ID
    • GET block transaction IDs
    • GET block transactions
    • GET blocks
  • Mining
    • GET mining pools
    • GET mining pool
    • GET mining pool hashrates
    • GET mining pool hashrate
    • GET mining pool blocks
    • GET hashrate
    • GET reward stats
    • GET block fees
    • GET block rewards
    • GET block feerates
    • GET block sizes and weights
  • Fees
    • GET mempool blocks fees
    • GET recommended fees
  • Mempool
    • GET mempool
    • GET mempool transaction IDs
    • GET mempool recent
  • Transactions
    • GET children pay for parent
    • GET transaction
    • GET transaction hex
    • GET transaction merkleblock proof
    • GET transaction merkle proof
    • GET transaction outspend
    • GET transaction outspends
    • GET transaction raw
    • GET transaction status
    • POST transaction

License

Licensed under MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

Dependencies

~6–20MB
~282K SLoC