#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

#330 in #request

32 downloads per month

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–24MB
~315K SLoC