#command #send #information #electrs #request #return #list

electrs-request

向Electrs服务器发送RPC命令

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

MIT 许可证

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文档中找到。

许可证

MIT © Joe Gesualdo

依赖项

~9.5MB
~133K SLoC