28 lines
757 B
Rust
28 lines
757 B
Rust
|
|
use std::str::FromStr;
|
||
|
|
|
||
|
|
use bitcoincore_rpc::{Auth, Client, RpcApi};
|
||
|
|
|
||
|
|
fn parse_and_validate_address(
|
||
|
|
address: &str,
|
||
|
|
network: bitcoin::Network,
|
||
|
|
) -> Result<bitcoin::Address, bitcoin::address::ParseError> {
|
||
|
|
let address = address
|
||
|
|
.parse::<bitcoin::Address<_>>()?
|
||
|
|
.require_network(network)?;
|
||
|
|
Ok(address)
|
||
|
|
}
|
||
|
|
|
||
|
|
pub fn client() {
|
||
|
|
let rpc = Client::new(
|
||
|
|
"http://127.0.0.1:38332",
|
||
|
|
Auth::UserPass("dave".to_string(), "password".to_string()),
|
||
|
|
)
|
||
|
|
.unwrap();
|
||
|
|
|
||
|
|
let a = "tb1p4dvr6dzszagw34scnr6kde0dr2yrmu6gew9faza788rmqy3d645sdm9e50";
|
||
|
|
let address = parse_and_validate_address(a, bitcoin::Network::Signet).unwrap();
|
||
|
|
let info = rpc.get_address_info(&address).unwrap();
|
||
|
|
|
||
|
|
println!("info {info:?} ");
|
||
|
|
}
|