[][src]Crate bitcoincash_addr

Bitcoin Cash Address Library

A simple library providing an Address struct enabling encoding/decoding of Bitcoin Cash addresses.

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);
}

Re-exports

pub use base58::Base58Codec;
pub use cashaddr::CashAddrCodec;

Modules

base58
cashaddr

Structs

Address

Struct containing the bytes and metadata of a Bitcoin Cash address. This is yeilded during decoding or consumed during encoding.

Enums

HashType

Intepretation of the Hash160 bytes.

Network

Bitcoin Networks.

Scheme

Address encoding scheme.

Traits

AddressCodec

A trait providing an interface for encoding and decoding the Address struct for each address scheme.