9 个版本 (4 个不兼容的版本)
0.5.2 | 2020年4月25日 |
---|---|
0.5.1 | 2019年12月27日 |
0.4.0 | 2019年12月6日 |
0.3.0 | 2019年11月20日 |
0.1.1 | 2019年8月11日 |
#8 在 #cash
每月下载量 246
在 2 crates 中使用
33KB
636 行
Rust 比特币现金地址库
一个简单的库,提供了一个 Address
结构体,用于比特币现金地址的编码/解码。
示例
将 Base58 转换为 CashAddr
use bitcoincash_addr::{Address, Network, Scheme};
fn main() {
// Decode base58 address
let legacy_addr = "1NM2HFXin4cEQRBLjkNZAS98qLX9JKzjKn";
let mut addr = Address::decode(legacy_addr).unwrap();
// Change the base58 address to a test network cashaddr
addr.network = Network::Test;
addr.scheme = Scheme::CashAddr;
// Encode cashaddr
let cashaddr_str = addr.encode().unwrap();
// bchtest:qr4zgpuznfg923ntyauyeh5v7333v72xhum2dsdgfh
println!("{}", cashaddr_str);
}
从原始地址进行编码
use bitcoincash_addr::Address;
fn main() {
// Raw hash160 bytes
let raw_address = [
227, 97, 202, 154, 127, 153, 16, 124, 23, 166, 34, 224, 71, 227, 116, 93, 62, 25, 207, 128,
78, 214, 60, 92, 64, 198, 186, 118, 54, 150, 185, 130, 65, 34, 61, 140, 230, 42, 212, 141,
134, 63, 76, 177, 140, 147, 14, 76,
];
// Construct address struct (defaults to pubkey hash, cashaddr and main network)
let address = Address {
body: raw_address.to_vec(),
..Default::default()
};
// Encode address
let address_str = address.encode().unwrap();
// bitcoincash:qh3krj5607v3qlqh5c3wq3lrw3wnuxw0sp8dv0zugrrt5a3kj6ucysfz8kxwv2k53krr7n933jfsunqex2w82sl
println!("{}", address_str);
}
依赖关系
~210KB