
```
This library is a service that can create Wallet Master Seed or Keys, create BlockCypher HD wallet and also hold internal wallet reference to it. 
```


#### Get Started
```sh
# open any command-line terminal

# install px-services (from pypi)
pip3 install px-services==0.1.23

# if you have access to the source code then install px-services by running this command
python3 setup.py install  

# run python3 interractive shell
python3 

Python 3.9.10 (main, Jan 15 2022, 11:48:00)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information

# import px_services package classes
from px_services.wallet import PxWallet
from px_services.wallet import PxWalletKeyGenerator

# This method `PxWalletKeyGenerator.generate_seed_phrase()` return a turple of 
# `secret_phrase` ( a.k.a `seed phrase` | `recovery phrase` | `backup phrase`)
# `seed` dictionary with these keys `hex`, `bytes`

secret_phrase, seed = PxWalletKeyGenerator.generate_seed_phrase()

# This method `PxWalletKeyGenerator.seedToMasterKey(seed['hex'])` take the seed (in hex format)
# as input and returns a turple of `info` dictionary object and `hdKey` Master key object
# (same object from which `info` dictionary object was constructed).

info, hdKey = PxWalletKeyGenerator.seedToMasterKey(seed['hex'])

# get Master Node or Master Key details from `info` dictionary object

info.get('master_key_info')

# get `account_keys` (account level extended public & private key) from `master_key_info`

info.get('master_key_info').get('account_keys')

# get `zprv` ( account level extended private key) from `account_keys`. This key can be 
# used to derive all account level addresses and it corresponding public & private keys. 
# Please DONOT share this key with any Blockchain Service Provider unless you have too.

info.get('master_key_info').get('account_keys').('zprv')

# get `zpub` ( account level extended public key) from `account_keys`. This key can be used 
# to derive all account level addresses and its corresponding `public keys` but cannot derive 
# its corresponding `private keys`. This key can be shared with any Blockchain Service 
# Providers since they will only be able to derive addresses and read its balances.

info.get('master_key_info').get('account_keys').('zpub')
```


