Metadata-Version: 2.1
Name: bip32key
Version: 0.1.2
Summary: The implementation of Hierarchical Deterministic (HD) wallets generator for Ethereum blockchain
Home-page: https://github.com/mehetett/bip32key
Author: Meheret Tesfaye
Author-email: meherett@zoho.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.5,<3.7
Description-Content-Type: text/markdown
Requires-Dist: ecdsa (==0.13)
Requires-Dist: two1 (==3.10.9)
Requires-Dist: base58 (==0.2.2)
Requires-Dist: pysha3 (==1.0.2)
Requires-Dist: mnemonic (==0.13)
Requires-Dist: eth-keyfile (==0.5.1)

<p align="start">		
  <img src="https://raw.githubusercontent.com/meherett/bip32key/master/bip32key.png">		
</p>

# bip32key

*The implementation of Hierarchical Deterministic (HD) wallets generator for Ethereum blockchain*

![GitHub](https://img.shields.io/github/license/cobraframework/cobra-hdwallet.svg)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bip32key.svg)

## Installation

Install bip32key

```
pip install bip32key
```

## Usage

##### Import entropy
```
from bip32key import BIP32KEY, BIP32KEY_HARDEN
import binascii

# Import entropy
entropy = binascii.hexlify(b"Meheret Tesfaye Batu")
master_key = BIP32KEY.fromEntropy(entropy)
```

##### Import Path
```
# Added master key path
master_key = master_key.fromPath("m/44'/69'/12'/5/0")
```

##### Or Import Index 
```
# This is same with fromPath
master_key = master_key.fromIndex(44 + BIP32KEY_HARDEN)
master_key = master_key.fromIndex(69 + BIP32KEY_HARDEN)
master_key = master_key.fromIndex(12 + BIP32KEY_HARDEN)
master_key = master_key.fromIndex(5)
master_key = master_key.fromIndex(0)
```

##### Get All
```
# Get All Information
print(master_key.print())

# Get Address
print(master_key.address())
# Get Wallet Import Format
print(master_key.walletImportFormat())
# Get Finger Print
print(master_key.fingerPrint().hex())
# Get Chain Code
print(master_key.chainCode())
# Get Private Key
print(master_key.privateKey().hex())
# Get Public Key
print(master_key.publicKey().hex())

##### Serialized #####

# Get Private Key Hex
print(master_key.extendedKey(private=True, encoded=False).hex())
# Get Public Key Hex
print(master_key.extendedKey(private=False, encoded=False).hex())
# Get XPrivate Key Base58
print(master_key.extendedKey(private=True, encoded=True))
# Get XPublic Key Base58
print(master_key.extendedKey(private=False, encoded=True))
```

## Example

###### Metamask and MyEtherWallet uses this path/index
```
master_key = master_key.fromPath("m/44'/60'/0'/0/0")
```
```
master_key = master_key.fromIndex(44 + BIP32KEY_HARDEN)
master_key = master_key.fromIndex(60 + BIP32KEY_HARDEN)
master_key = master_key.fromIndex(0 + BIP32KEY_HARDEN)
master_key = master_key.fromIndex(0)
master_key = master_key.fromIndex(0)
```

## Author
##### # Meheret Tesfaye [@meherett](http://github.com/meherett).


