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

Structs

Address

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

Base58Codec

Codec allowing the encoding and decoding of base58 addresses

CashAddrCodec

Codec allowing the encoding and decoding of cashaddrs

Enums

AddressError

Error concerning encoding/decoding of addresses

Base58Error

Error concerning encoding/decoding of base58 addresses

CashAddrError

Error concerning encoding/decoding of cashaddrs

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.