Derivation¶
-
class
hdwallet.derivations.
Derivation
(path: Optional[str] = None, semantic: str = 'p2pkh')¶ Hierarchical Deterministic Wallet Derivation’s
- Parameters
path (str) – Derivation path.
semantic (str) – Extended semantic, defaults to
P2PKH
.
- Returns
Derivation – Derivation instance.
>>> from hdwallet.derivations import Derivation >>> Derivation() <hdwallet.derivations.Derivation object at 0x000001EBC58E9F70> >>> str(Derivation()) "" >>> str(Derivation(path="m/44'/0'/0'/0/0", semantic="p2pkh")) "m/44'/0'/0'/0/0"
Note
Do not forget all derivation paths are start swith ‘m/’ prefix.
-
classmethod
from_path
(path: str) → hdwallet.derivations.Derivation¶ Derivation from path.
- Parameters
path (str, Derivation) – Derivation path.
- Returns
Derivation – Derivation instance.
>>> from hdwallet.derivations import Derivation >>> derivation = Derivation() >>> derivation.from_path(path="m/44'/0'/'0/0/0") <hdwallet.derivation.Derivation object at 0x000001E8BFB98D60>
-
from_index
(index: int, hardened: bool = False) → hdwallet.derivations.Derivation¶ Derivation from path.
- Parameters
index (int) – Derivation index.
hardened (bool) – Hardened address, default to
False
.
- Returns
Derivation – Derivation instance.
>>> from hdwallet.derivations import Derivation >>> derivation = Derivation() >>> derivation.from_index(index=44, hardened=True) >>> derivation.from_index(index=0, hardened=True) >>> derivation.from_index(index=0, hardened=True) >>> derivation.from_index(index=0) >>> derivation.from_index(index=0) <hdwallet.derivation.Derivation object at 0x000001E8BFB98D60>
-
clean_derivation
() → hdwallet.derivations.Derivation¶ Clean derivation path or indexes.
- Returns
Derivation – Derivation instance.
>>> from hdwallet.derivations import Derivation >>> derivation = Derivation() >>> derivation.from_path(path="m/44'/0'/'0/0/0") >>> str(derivation) "m/44'/0'/'0/0/0" >>> derivation.clean_derivation() <hdwallet.wallet.HDWallet object at 0x000001E8BFB98D60> >>> str(derivation) ""
BIP32Derivation¶
-
class
hdwallet.derivations.
BIP32Derivation
(cryptocurrency: Optional[Any] = None, purpose: Union[int, Tuple[int, bool]] = 0, coin_type: Union[int, Tuple[int, bool]] = 0, account: Union[int, Tuple[int, bool]] = 0, change: bool = False, address: Union[int, Tuple[int, bool]] = 0)¶ Hierarchical Deterministic Wallet BIP32 Derivation
- Parameters
cryptocurrency (Cryptocurrency) – Cryptocurrency instance, default to
None
.purpose (int, tuple) – Purpose index, default to
0
.coin_type (int, tuple) – Coin type, default to
0
.account (int, tuple) – Account index, default to
0
.change (bool) – Change addresses, default to
False
.address (int, tuple) – Address index, default to
0
.
- Returns
BIP32Derivation – BIP32Derivation instance.
>>> from hdwallet.derivations import BIP32Derivation >>> from hdwallet.cryptocurrencies import BitcoinMainnet >>> BIP32Derivation(cryptocurrency=BitcoinMainnet) <hdwallet.derivations.Derivation object at 0x000001EBC58E9F70> >>> str(BIP32Derivation(cryptocurrency=BitcoinMainnet)) "m/0'/0'/0'/0/0"
-
from_purpose
(purpose: int, hardened: bool = True) → hdwallet.derivations.BIP32Derivation¶ Derivation from purpose index.
- Parameters
purpose (int) – Purpose index.
hardened (bool) – Hardened, default to
True
.
- Returns
BIP32Derivation – BIP32Derivation instance.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_purpose(purpose=0, hardened=True) <hdwallet.derivation.BIP32Derivation object at 0x000001E8BFB98D60>
-
from_coin_type
(coin_type: int, hardened: bool = True) → hdwallet.derivations.BIP32Derivation¶ Derivation from Coin Type index.
- Parameters
coin_type (int) – Coin type index.
hardened (bool) – Hardened, default to
True
.
- Returns
BIP32Derivation – BIP32Derivation instance.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_coin_type(coin_type=56, hardened=True) <hdwallet.derivation.BIP32Derivation object at 0x000001E8BFB98D60>
-
from_account
(account: int, hardened: bool = True) → hdwallet.derivations.BIP32Derivation¶ Derivation from Account index.
- Parameters
account (int) – Coin type index.
hardened (bool) – Hardened, default to
True
.
- Returns
BIP32Derivation – BIP32Derivation instance.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_account(account=1, hardened=True) <hdwallet.derivation.BIP32Derivation object at 0x000001E8BFB98D60>
-
from_change
(change: bool) → hdwallet.derivations.BIP32Derivation¶ Derivation from external Change.
- Parameters
change (bool) – External chnage.
- Returns
BIP32Derivation – BIP32Derivation instance.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_account(change=True) <hdwallet.derivation.BIP32Derivation object at 0x000001E8BFB98D60>
-
from_address
(address: int, hardened: bool = False) → hdwallet.derivations.BIP32Derivation¶ Derivation from Address index.
- Parameters
address (int) – Address index.
hardened (bool) – Hardened, default to
True
.
- Returns
BIP32Derivation – BIP32Derivation instance.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_address(address=1, hardened=True) <hdwallet.derivation.BIP32Derivation object at 0x000001E8BFB98D60>
-
clean_derivation
() → hdwallet.derivations.BIP32Derivation¶ Clean derivation path or indexes.
- Returns
Derivation – Derivation instance.
>>> from hdwallet.derivations import Derivation >>> derivation = Derivation() >>> derivation.from_path(path="m/44'/0'/'0/0/0") >>> str(derivation) "m/44'/0'/'0/0/0" >>> derivation.clean_derivation() <hdwallet.wallet.HDWallet object at 0x000001E8BFB98D60> >>> str(derivation) ""
-
purpose
() → str¶ Gey Purpose index.
- Returns
str – Purpose index.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_purpose(purpose=0, hardened=True) >>> bip32_derivation.purpose() "0'"
-
coin_type
() → str¶ Gey Coin Type index.
- Returns
str – Coin Type index.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.coin_type(coin_type=15, hardened=True) >>> bip32_derivation.coin_type() "15'"
-
account
() → str¶ Gey Account index.
- Returns
str – Account index.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_account(account=1, hardened=True) >>> bip32_derivation.account() "1'"
-
change
(number: bool = False) → Union[str, bool]¶ Gey external Change.
- Parameters
number (bool) – Return type, default to
False
.- Returns
str – External change index.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_change(change=True) >>> bip32_derivation.change(number=True) "1" >>> bip32_derivation.change(number=False) True
-
address
() → str¶ Gey Address index.
- Returns
str – Address index.
>>> from hdwallet.derivations import BIP32Derivation >>> bip32_derivation = BIP32Derivation() >>> bip32_derivation.from_address(address=1, hardened=True) >>> bip32_derivation.address() "1"
BIP44Derivation¶
-
class
hdwallet.derivations.
BIP44Derivation
(cryptocurrency: Any, account: Union[int, Tuple[int, bool]] = 0, change: bool = False, address: Union[int, Tuple[int, bool]] = 0)¶ Hierarchical Deterministic Wallet BIP44 Derivation
- Parameters
cryptocurrency (Cryptocurrency) – Cryptocurrency instance.
account (int, tuple) – Account index, default to
0
.change (bool) – Change addresses, default to
False
.address (int, tuple) – Address index, default to
0
.
- Returns
BIP44Derivation – BIP44Derivation instance.
>>> from hdwallet.derivations import BIP44Derivation >>> from hdwallet.cryptocurrencies import BitcoinMainnet >>> BIP44Derivation(cryptocurrency=BitcoinMainnet) <hdwallet.derivations.Derivation object at 0x000001EBC58E9F70> >>> str(BIP44Derivation(cryptocurrency=BitcoinMainnet)) "m/44'/0'/0'/0/0"
BIP49Derivation¶
-
class
hdwallet.derivations.
BIP49Derivation
(cryptocurrency: Any, account: Union[int, Tuple[int, bool]] = 0, change: bool = False, address: Union[int, Tuple[int, bool]] = 0)¶ Hierarchical Deterministic Wallet BIP49 Derivation
- Parameters
cryptocurrency (Cryptocurrency) – Cryptocurrency instance.
account (int, tuple) – Account index, default to
0
.change (bool) – Change addresses, default to
False
.address (int, tuple) – Address index, default to
0
.
- Returns
BIP49Derivation – BIP49Derivation instance.
>>> from hdwallet.derivations import BIP49Derivation >>> from hdwallet.cryptocurrencies import BitcoinMainnet >>> BIP49Derivation(cryptocurrency=BitcoinMainnet) <hdwallet.derivations.Derivation object at 0x000001EBC58E9F70> >>> str(BIP49Derivation(cryptocurrency=BitcoinMainnet)) "m/49'/0'/0'/0/0"
BIP84Derivation¶
-
class
hdwallet.derivations.
BIP84Derivation
(cryptocurrency: Any, account: Union[int, Tuple[int, bool]] = 0, change: bool = False, address: Union[int, Tuple[int, bool]] = 0)¶ Hierarchical Deterministic Wallet BIP84 Derivation
- Parameters
cryptocurrency (Cryptocurrency) – Cryptocurrency instance.
account (int, tuple) – Account index, default to
0
.change (bool) – Change addresses, default to
False
.address (int, tuple) – Address index, default to
0
.
- Returns
BIP84Derivation – BIP84Derivation instance.
>>> from hdwallet.derivations import BIP84Derivation >>> from hdwallet.cryptocurrencies import BitcoinMainnet >>> BIP84Derivation(cryptocurrency=BitcoinMainnet) <hdwallet.derivations.Derivation object at 0x000001EBC58E9F70> >>> str(BIP84Derivation(cryptocurrency=BitcoinMainnet)) "m/84'/0'/0'/0/0"
BIP141Derivation¶
-
class
hdwallet.derivations.
BIP141Derivation
(cryptocurrency: Any, path: Optional[Union[str, hdwallet.derivations.Derivation]] = None, semantic: str = 'p2wpkh')¶ Hierarchical Deterministic Wallet BIP141 Derivation
- Parameters
path (str) – Derivation path, default to
None
.semantic (str) – Extended semantic, defaults to
P2WPKH
.
- Returns
BIP141Derivation – BIP141Derivation instance.
>>> from hdwallet.derivations import BIP141Derivation >>> from hdwallet.cryptocurrencies import BitcoinMainnet >>> BIP141Derivation(cryptocurrency=BitcoinMainnet) <hdwallet.derivations.Derivation object at 0x000001EBC58E9F70> >>> str(BIP141Derivation(cryptocurrency=BitcoinMainnet)) "m/44'/0'/0'/0/0"