Crate bitcoin_bech32 [−] [src]
Encoding and decoding Bech32 Bitcoin Segwit Addresses
Encoding and decoding for Bitcoin Segregated Witness addresses. Bech32 is an encoding scheme described in BIP-0173, and segregated witness addresses encoded by Bech32 simply combine a coin-specific human-readable part with the data of the witness program as the Bech32 data payload.
Examples
use bitcoin_bech32::WitnessProgram; use bitcoin_bech32::constants::Network; let witness_program = WitnessProgram { version: 0, program: vec![ 0x00, 0x00, 0x00, 0xc4, 0xa5, 0xca, 0xd4, 0x62, 0x21, 0xb2, 0xa1, 0x87, 0x90, 0x5e, 0x52, 0x66, 0x36, 0x2b, 0x99, 0xd5, 0xe9, 0x1c, 0x6c, 0xe2, 0x4d, 0x16, 0x5d, 0xab, 0x93, 0xe8, 0x64, 0x33], network: Network::Testnet }; let address = witness_program.to_address().unwrap(); assert_eq!(address, "tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy".to_string()); let decoded = WitnessProgram::from_address(address).unwrap(); assert_eq!(decoded, witness_program);
Modules
constants |
Human-readable constants for various cryptocurrencies |
Structs
WitnessProgram |
Witness version and program data |
Enums
BitConversionError |
Error types during bit conversion |
Error |
Error types while encoding and decoding SegWit addresses |
ScriptPubKeyError |
Error types for validating scriptpubkeys |
WitnessProgramError |
Error types for witness programs |