#address #cash #base58 #bitcoin #cashaddr

bitcoincash-addr

一个简单的库,提供比特币现金地址的编码/解码功能

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

Download history 101/week @ 2024-03-25 101/week @ 2024-04-01 89/week @ 2024-04-08 80/week @ 2024-04-15 88/week @ 2024-04-22 95/week @ 2024-04-29 101/week @ 2024-05-06 85/week @ 2024-05-13 89/week @ 2024-05-20 91/week @ 2024-05-27 73/week @ 2024-06-03 64/week @ 2024-06-10 83/week @ 2024-06-17 98/week @ 2024-06-24 1/week @ 2024-07-01 49/week @ 2024-07-08

每月下载量 246
2 crates 中使用

MIT 许可协议

33KB
636

Rust 比特币现金地址库

Build Status License Cargo Documentation

一个简单的库,提供了一个 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