4个版本
0.1.3 | 2022年10月3日 |
---|---|
0.1.2 | 2022年9月28日 |
0.1.1 | 2022年9月28日 |
0.1.0 | 2022年9月28日 |
#66 in #return
34 每月下载次数
在 2 个crate中使用(通过 electrs-query)
10KB
129 行
Electrs请求
向Electrs服务器发送RPC命令。
⚠️ 这属于实验性功能。请自行承担风险。⚠️
此库提供对原始RPC Electrs命令的类型安全函数,以便轻松且安全地从服务器节点检索信息。
由于此库仅提供对原始RPC命令的类型安全,因此函数将1:1映射到RPC命令。请参阅ElectrumX获取所有命令及其返回内容的列表。
如果您正在寻找用于从electrum查询信息的更高层次API(例如,地址的余额等),请查看electrs-query,它提供查询Electrs服务器的高级函数。
安装
将包添加到Cargo.toml文件中
[dependencies]
electrs-request = "0.1.3"
用法
let electrs_server_address = "127.0.0.1:50001";
let client = Client::new(electrs_server_address);
// get the relay fee
let response = BlockchainRelayFeeCommand::new().call(&client).unwrap();
println!("relay fee result: {:?}", response);
let p2pkh_address = "mv7RvNNQ7HpQf2diQai5hgpeuzkFoAQP9G".to_string();
// And address must be converted to a public key hash, then hashed using sha256 and then converted to little endian before requesting information from electrs.
let p2pkh_pk_hash = get_public_key_hash_from_address(&p2pkh_address);
let p2pkh_script = format!("{}{}{}", "76a914", p2pkh_pk_hash, "88ac");
let p2pkh_script_sha256 = bitcoin_utils::sha256_hex(&p2pkh_script);
let p2pkh_script_sha256_le = convert_big_endian_hex_to_little_endian(&p2pkh_script_sha256);
// get the balance for a p2pkh address
let balance_response = BlockchainScriptHashGetBalanceCommand::new(&p2pkh_script_sha256_le)
.call(&client)
.unwrap();
println!("balance: {:#?}", balance_response);
// get utxos for address
let unspent_response = BlockchainScriptHashListUnspentCommand::new(&p2pkh_script_sha256_le)
.call(&client)
.unwrap();
println!("unspent: {:#?}", unspent_response);
命令
所有electrs命令的列表可以在exectrumx文档中找到。
相关
- electrs-query - 查询Electrs服务器信息
- bitcoind-request - 向Bitcoin核心轻松发送RPC命令
- bitcoin-node-query - 查询Bitcoin节点信息
- bitcoin-terminal-dashboard - 终端中的Bitcoin仪表板
许可证
MIT © Joe Gesualdo
依赖项
~9.5MB
~133K SLoC