Bitcoind Request

Send RPC commands to a bitcoind server.


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


This library provides typesafe functions over raw RPC bitcoind commands to easily and safely retrieve information from a bitcoin node.

As this library only provides typesafety over raw RPC commands, functions will be mapped 1:1 to RPC commands. See bitcoin core docs for a list of all commands and what they return.

If you're looking for additional information about the Bitcoin Network (i.e. time since last block, etc) , take a look at bitcoin-node-query, which provides additional functions to query bitcoin network data.

Install

Add package to Cargo.toml file

rust [dependencies] bitcoind-request = "0.1.16"

Usage:

```rust use bitcoindrequest::{ client::Client, command::{ getblockchain_info::GetBlockchainInfoCommand, CallableCommand, }, };

// Create a Client. let bitcoindpassword: &str = ... let bitcoindusername: &str = ... let bitcoindurl = "127.0.0.1:8332" let client = Client::new( &bitcoindurl, &bitcoindusername, &bitcoindpassword ).expect("failed to create client");

// Get the estimated size of the block and undo files on disk. // Note: this calls "getblockchaininfo" bitcoin core rpc command under the hood. let blockchaininfo = GetBlockchainInfoCommand::new().call(client); println!("{}", blockchaininfo.sizeondisk);

// Compute statistics about the total number and rate of transactions in the chain. // Note: this calls "getchaintxstats" bitcoin core rpc command under the hood. let maybechaintxstats = GetChainTxStatsCommand::new() .setnblocks(2016) .call(client); println!("{:#?}", maybechaintxstats.unwrap());

```

Commands

List of all bitcoind commands can be found at bitcoin.org

They can also be found in the bitcoin-cli docs:

zsh $ bitcoin-cli help

Related

License

MIT © Joe Gesualdo