PY Crypto HD Wallet
Introduction
This package contains a very basic implementation of a HD (Hierarchical Deterministic) wallet based on my bip_utils library.It is basically a nice wrapper for the bip_utils library for generating mnemonics, seeds, public/private keys and addresses. Therefore, it has no network functionalities.The supported coins are the same of the bip_utils library, so check the related page.
Install the package
The package requires Python 3, it is not compatible with Python 2. To install it:
Using pip, from this directory (local):
pip install .
Using pip, from PyPI:
pip install py_crypto_hd_wallet
NOTE: if you are using an Apple M1, please make sure to update coincurve (required by bip_utils) to version 17.0.0 otherwise it won’t work.
Test and Coverage
Install develop dependencies:
pip install -r requirements-dev.txt
To run tests:
python -m unittest discover
To run tests with coverage:
coverage run -m unittest discover
coverage report
To run code analysis, just execute the analyze_code
script.
Modules description
Examples of wallet JSON outputs
Documentation
The library documentation is available at py-crypto-hd-wallet.readthedocs.io.
Buy me a coffee
You know, I’m italian and I love drinking coffee (especially while coding :D). So, if you’d like to buy me one:
BTC:
bc1qq4r9cglwzd6f2hzxvdkucmdejvr9h8me5hy0k8
ERC20/BEP20:
0xf84e4898E5E10bf1fBe9ffA3EEC845e82e364b5B
Thank you very much for your support.
License
This software is available under the MIT license.
Modules
- py_crypto_hd_wallet
- algorand
- bip
- hd_wallet_bip
- hd_wallet_bip_addr
- hd_wallet_bip_enum
HdWalletBipDataTypes
HdWalletBipDataTypes.WALLET_NAME
HdWalletBipDataTypes.COIN_NAME
HdWalletBipDataTypes.SPEC_NAME
HdWalletBipDataTypes.MNEMONIC
HdWalletBipDataTypes.PASSPHRASE
HdWalletBipDataTypes.SEED_BYTES
HdWalletBipDataTypes.ACCOUNT_IDX
HdWalletBipDataTypes.CHANGE_IDX
HdWalletBipDataTypes.MASTER_KEY
HdWalletBipDataTypes.PURPOSE_KEY
HdWalletBipDataTypes.COIN_KEY
HdWalletBipDataTypes.ACCOUNT_KEY
HdWalletBipDataTypes.CHANGE_KEY
HdWalletBipDataTypes.ADDRESS_OFF
HdWalletBipDataTypes.ADDRESS
HdWalletBipKeyTypes
- hd_wallet_bip_factory
- hd_wallet_bip_keys
- cardano
- shelley
- hd_wallet_cardano_shelley
- hd_wallet_cardano_shelley_addr
- hd_wallet_cardano_shelley_enum
HdWalletCardanoShelleyDataTypes
HdWalletCardanoShelleyDataTypes.WALLET_NAME
HdWalletCardanoShelleyDataTypes.COIN_NAME
HdWalletCardanoShelleyDataTypes.MNEMONIC
HdWalletCardanoShelleyDataTypes.PASSPHRASE
HdWalletCardanoShelleyDataTypes.SEED_BYTES
HdWalletCardanoShelleyDataTypes.ACCOUNT_IDX
HdWalletCardanoShelleyDataTypes.CHANGE_IDX
HdWalletCardanoShelleyDataTypes.MASTER_KEY
HdWalletCardanoShelleyDataTypes.ACCOUNT_KEY
HdWalletCardanoShelleyDataTypes.STAKING_KEY
HdWalletCardanoShelleyDataTypes.ADDRESS_OFF
HdWalletCardanoShelleyDataTypes.ADDRESS
HdWalletCardanoShelleyKeyTypes
- hd_wallet_cardano_shelley_factory
- hd_wallet_cardano_shelley_keys
- shelley
- common
- electrum
- v1
- hd_wallet_electrum_v1
- hd_wallet_electrum_v1_addr
- hd_wallet_electrum_v1_enum
HdWalletElectrumV1DataTypes
HdWalletElectrumV1DataTypes.WALLET_NAME
HdWalletElectrumV1DataTypes.COIN_NAME
HdWalletElectrumV1DataTypes.MNEMONIC
HdWalletElectrumV1DataTypes.SEED_BYTES
HdWalletElectrumV1DataTypes.CHANGE_IDX
HdWalletElectrumV1DataTypes.MASTER_KEY
HdWalletElectrumV1DataTypes.ADDRESS_OFF
HdWalletElectrumV1DataTypes.ADDRESS
HdWalletElectrumV1KeyTypes
- hd_wallet_electrum_v1_factory
- hd_wallet_electrum_v1_keys
- v2
- hd_wallet_electrum_v2
- hd_wallet_electrum_v2_addr
- hd_wallet_electrum_v2_enum
HdWalletElectrumV2DataTypes
HdWalletElectrumV2DataTypes.WALLET_NAME
HdWalletElectrumV2DataTypes.COIN_NAME
HdWalletElectrumV2DataTypes.MNEMONIC
HdWalletElectrumV2DataTypes.PASSPHRASE
HdWalletElectrumV2DataTypes.SEED_BYTES
HdWalletElectrumV2DataTypes.CHANGE_IDX
HdWalletElectrumV2DataTypes.MASTER_KEY
HdWalletElectrumV2DataTypes.ADDRESS_OFF
HdWalletElectrumV2DataTypes.ADDRESS
HdWalletElectrumV2KeyTypes
- hd_wallet_electrum_v2_factory
- hd_wallet_electrum_v2_keys
- v1
- monero
- saver
- substrate
- utils