#bitcoin #information #query #blockchain #request

bitcoin-blockchain-query

Request information from the Bitcoin Blockchain

8 releases

0.1.7 Oct 4, 2022
0.1.6 Oct 4, 2022

#344 in #request

MIT license

10KB
149 lines

Bitcoin Blockchain Query

Request information from the Bitcoin Blockchain

This library provides helpful functions to get information from the Bitcoin Blockhain


⚠️ This is experimental. Please use at your own risk.⚠️


Requirements

This library relies on querying both a bitcoin full node and an electrs server so you must have both installed and setup to accept incomming rpc commands.

Install

Add package to Cargo.toml file

[dependencies]
bitcoin-blockchain-query = "0.1.7"

Usage:

use bitcoin_blockchain_query::get_transaction_flows_for_address;
use bitcoind_request::{self, client::Client as BitcoindRequestClient};
use electrs_query::{self, Client as ElectrsClient};
use std::env;
fn main() {
    let password = env::var("BITCOIND_PASSWORD").expect("BITCOIND_PASSWORD env variable not set");
    let username = env::var("BITCOIND_USERNAME").expect("BITCOIND_USERNAME env variable not set");
    let bitcoind_url = env::var("BITCOIND_URL").expect("BITCOIND_URL env variable not set");
    let electrs_url = env::var("ELECTRS_URL").expect("ELECTRS_URL env variable not set");

    let bitcoind_request_client =
        BitcoindRequestClient::new(&bitcoind_url, &username, &password).unwrap();
    let electrs_client = ElectrsClient::new(&electrs_url);

    let transactions = get_transaction_flows_for_address(
        "myueA9NpyLdp6QPkgiWnxbLDo6xudA9sSD",
        &electrs_client,
        &bitcoind_request_client,
    );
    println!("{:#?}", transactions)
}

API

Find a list of all the functions available in the documentation

License

MIT © Joe Gesualdo

Dependencies

~14–23MB
~320K SLoC