Addresses¶
Collection of base classes that implement the work with Bitcoin addresses and address keys. Supports addresses types PUBKEY, P2PKH, P2SH, P2SH-PWPKH, P2WPKH, P2WSH.
-
class
pybtc.PrivateKey(key=None, compressed=True, testnet=False)[source]¶ The class for creating private key object.
Parameters: - key – (optional) private key in HEX, bytes string or WIF format. In case no key specified new random private key will be created.
- compressed – (optional) if set to True private key corresponding compressed public key, by default set to True. Recommended use only compressed public key.
- testnet – (optional) if set to True mean that this private key for testnet Bitcoin network.
-
compressed¶ flag for compressed type of corresponding public key (boolean)
-
hex¶ private key in HEX (string)
-
key¶ private key in bytes (bytes)
-
testnet¶ flag for testnet network private key (boolean)
-
wif¶ private key in WIF format (string)
-
class
pybtc.PublicKey(key, compressed=True, testnet=False)[source]¶ The class for public key object.
Parameters: - key –
one of this types allowed:
- private key is instance of
PrivateKeyclass - private key HEX encoded string
- private key 32 bytes string
- private key in WIF format
- public key in HEX encoded string
- public key [33/65] bytes string
In case no key specified with HEX or bytes string you have to provide flag for testnet and compressed key. WIF format and
PrivateKeyinstance already contain this flags. For HEX or bytes public key only testnet flag has the meaning, comressed flag is determined according to the length of key. - private key is instance of
- compressed – (optional) if set to True private key corresponding compressed public key, by default set to True. Recommended use only compressed public key.
- testnet – (optional) if set to True mean that this private key for testnet Bitcoin network.
-
compressed¶ flag for compressed type of corresponding public key (boolean)
-
hex¶ public key in HEX (string)
-
key¶ public key in bytes (bytes)
-
testnet¶ flag for testnet network private key (boolean)
- key –
-
class
pybtc.Address(key=None, address_type='P2WPKH', testnet=False, compressed=True)[source]¶ The class for Address object.
Parameters: - key –
(optional) one of this types allowed:
- private key WIF format
- instance of
PrivateKey - private key HEX encoded string
- instance of
PublicKey
In case no key specified new Address will be created with random keys.
- address_type – (optional) P2PKH, PUBKEY, P2WPKH, P2SH_P2WPKH, by default P2WPKH.
- compressed – (optional) if set to True private key corresponding compressed public key, by default set to True. Recommended use only compressed public key.
- testnet – (optional) if set to True mean that this private key for testnet Bitcoin network.
In case instanse is created from WIF private key,
PrivateKeyorPublicKeycompressed and testnet flags already contain in initial key parameter and will be ignored.-
address¶ address in base58 or bech32 encoding (string)
-
hash¶ address hash
-
hash_hex¶ address hash HEX (string)
-
private_key¶ instance of
PrivateKeyclass
-
public_key¶ instance of
PublicKeyclass
-
redeem_script¶ redeeem script, only for P2SH_P2WPKH (bytes)
-
redeem_script_hex¶ redeeem script HEX, only for P2SH_P2WPKH (string)
-
script_hash¶ flag for script hash address (boolean)
-
testnet¶ flag for testnet network address (boolean)
-
type¶ flag for testnet network address (boolean)
-
witness_version¶ version of witness program for SEGWIT address (string)
- key –