Examples

Create address

This is example of usage Address class. The address class implements the work with addresses controlled by a private key. Supports the ability to create P2WPKH, P2PKH, PUBKEY address types and P2SH_P2WPKH as exception for SEGWIT adoption. It is recommended to use native SEGWIT address type - P2WPKH, which reduces costs of miner fee and expand block capacity. To create an address, you need to create a class object. Buy default, will be created P2WPKH address for mainnet.

>>> import pybgl
>>> a = pybgl.Address()
>>> a.address
'bgl1qdzjn6rd7e84lt2m5d3yf9jcg42ncdje7vhp4rl'
>>> a.private_key.wif
'L1LAHLFBWcW2E1xRsUooVL9ajxJXtsAUjJJ4GuPTgHKAKNhy6fsD'
>>>

Get address from key

In case you already have private or public key you can object from your key.

>>> a = pybgl.Address('L1LAHLFBWcW2E1xRsUooVL9ajxJXtsAUjJJ4GuPTgHKAKNhy6fsD')
>>> a.address
'bgl1qdzjn6rd7e84lt2m5d3yf9jcg42ncdje7vhp4rl'
>>> a.public_key.hex
'028608fe359c6ffa37f2429279145e627feff745b2e35fe1f4fcabc1759005ddc7'
>>>
>>> # get address from public key
>>> pub = pybgl.PublicKey('028608fe359c6ffa37f2429279145e627feff745b2e35fe1f4fcabc1759005ddc7')
>>>
>>> pybgl.Address(pub).address
'bgl1qdzjn6rd7e84lt2m5d3yf9jcg42ncdje7vhp4rl'
>>>

Pure functions for address

Create private key

>>> import pybgl
>>> pybgl.create_private_key()
'L38PPqhzCbyTH3nd7e2ExEY3LSdaYhaF1d7pXYBEz83avPfpBbZ6'
>>>
>>> pybgl.create_private_key(compressed=False)
'5JCnJEggRKX5rscdGiqasmYdsyQ2fCYyLA7xYqSDRLEbWY7mZtq'
>>>
>>> pybgl.is_wif_valid('5JCnJEggRKX5rscdGiqasmYdsyQ2fCYyLA7xYqSDRLEbWY7mZtq')
True
>>> pybgl.is_wif_valid('5JCnJEggRKX5rscdGiqasmYds*******yLA7xYqSDRLEbWY7mZtq')
False
>>>

Tools

>>> pybgl.is_address_valid('bgl1qdzjn6rd7e84lt2m5d3yf9jcg42ncdje7vhp4rl')
True
>>> pybgl.address_type('bgl1qdzjn6rd7e84lt2m5d3yf9jcg42ncdje7vhp4rl')
'P2WPKH'
>>> pybgl.address_net_type('bgl1qdzjn6rd7e84lt2m5d3yf9jcg42ncdje7vhp4rl')
'mainnet'
>>>

Create wallet

This is example of usage Wallet class.

>>> import pybgl
>>> w = pybgl.Wallet(path_type='BIP84')
>>> w.mnemonic
'wet talent menu also ill comic smart unfold bone tape settle kangaroo caught tree wrap write diagram stomach have time addict unknown cruise polar'
>>> w.account_private_xkey
'zprvAchpNzD1oB4ndfzR6UBSeaFLuP2fNvbqsoP1PAfTwTLPESD8AFBbXigaoYzaZBjkJSxeYEXGQaVHzwZeSVYWCtX82GScZ9MwPYCmhBCFzJs'
>>> w.account_public_xkey
'zpub6qhAnVjudYd5rA4tCViT1iC5TQs9nPKhF2JcBZ55VnsN7EYGhnVr5X14enqueqWuz2nBBaDr77WT1Rnx82R1mTAbr9FbJq8oNdcf8UgndVA'
>>> w = pybgl.Wallet('wet talent menu also ill comic smart unfold bone tape settle kangaroo caught tree wrap write diagram stomach have time addict unknown cruise polar',path_type='BIP84')
>>> w.account_private_xkey
'zprvAchpNzD1oB4ndfzR6UBSeaFLuP2fNvbqsoP1PAfTwTLPESD8AFBbXigaoYzaZBjkJSxeYEXGQaVHzwZeSVYWCtX82GScZ9MwPYCmhBCFzJs'
>>> w.account_public_xkey
'zpub6qhAnVjudYd5rA4tCViT1iC5TQs9nPKhF2JcBZ55VnsN7EYGhnVr5X14enqueqWuz2nBBaDr77WT1Rnx82R1mTAbr9FbJq8oNdcf8UgndVA'
>>>

Get wallet addresses

 >>> w.get_address(0)['address']
'bgl1qjc46yw4zgggj4e0x6ew6htuu234j4y9vds66e2'
 >>> w.get_address(0)['private_key']
'L1U3Fviv4PGDxQatgXimWnU8yLy6jVz12wAyxjjP4XLyjDx7aycU'
 >>> w.get_address(0)['public_key']
'037269845622edcc243d7b203de508c899c33963e1e2d45a47884b7df5ab4be1ce'
 >>> w.get_address(1)['address']
 'bgl1qxepx0uqdu696vjwvszcel3r8lzss9m0htq6n8u'
 >>> w.get_address(1)['private_key']
 'KxGZ8JWxZpjBsz1QERdnrBRT2THEVkjr7q8fqCrJ7bFN1ys7EKPi'
 >>> w.get_address(1)['public_key']
 '03739adff69d48d2f8bac2bfacfbb1dcf6264fad4e67761c1d6890bde7ed858571'
 >>>