Module address
Expand description
Bitcoin addresses.
Support for ordinary base58 Bitcoin addresses and private keys.
§Example: creating a new address from a randomly-generated key pair
use bitcoin::{Address, PublicKey, Network};
use bitcoin::secp256k1::{rand, Secp256k1};
// Generate random key pair.
let s = Secp256k1::new();
let public_key = PublicKey::new(s.generate_keypair(&mut rand::thread_rng()).1);
// Generate pay-to-pubkey-hash address.
let address = Address::p2pkh(&public_key, Network::Bitcoin);
§Note: creating a new address requires the rand-std feature flag
bitcoin = { version = "...", features = ["rand-std"] }
Modules§
- Error code for the address module.
Structs§
- A Bitcoin address.
- Decoded base58 data was an invalid length.
- Invalid legacy address prefix in decoded base58 data.
- Legacy base58 address was too long, max 50 characters.
- Address’s network differs from required one.
- Address type is either invalid or not supported in rust-bitcoin.
- Unknown HRP error.
Enums§
- The data encoded by an
Address
. - The different types of addresses.
- Error while generating address from script.
- Known bech32 human-readable parts.
- Marker that address’s network has been successfully validated. See section Parsing addresses on
Address
for details. - Marker that address’s network has not yet been validated. See section Parsing addresses on
Address
for details. - Error while generating address from a p2sh script.
- Address parsing error.
Traits§
- Marker of status of address’s network validation. See section Parsing addresses on
Address
for details.