Wallet¶
The implementation of Hierarchical Deterministic (HD) wallets generator for Bytom blockchain.
-
class
swap.providers.bytom.wallet.
Wallet
(network: str = 'mainnet')¶ Bytom Wallet class.
- Parameters
network (str) – Bytom network, defaults to mainnet.
- Returns
Wallet – Bytom wallet instance.
Note
Bytom has only two networks,
mainnet
,solonet
andtestnet
.-
from_entropy
(entropy: str, language: str = 'english', passphrase: Optional[str] = None) → swap.providers.bytom.wallet.Wallet¶ Initiate Bytom wallet from entropy.
- Parameters
entropy (str) – Bytom wallet entropy.
language (str) – Bytom wallet language, default to english.
passphrase (str) – Bytom wallet passphrase, default to None.
- Returns
Wallet – Bytom wallet instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") <swap.providers.bytom.wallet.Wallet object at 0x040DA268>
-
from_mnemonic
(mnemonic: str, language: Optional[str] = None, passphrase: Optional[str] = None) → swap.providers.bytom.wallet.Wallet¶ Initialize Bytom wallet from mnemonic.
- Parameters
mnemonic (str) – Bytom wallet mnemonic.
language (str) – Bytom wallet language, default to english.
passphrase (str) – Bytom wallet passphrase, default to None.
- Returns
Wallet – Bytom wallet class instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast") <swap.providers.bytom.wallet.Wallet object at 0x040DA268>
-
from_seed
(seed: str) → swap.providers.bytom.wallet.Wallet¶ Initialize Bytom wallet from seed.
- Parameters
seed (str) – Bytom wallet seed.
- Returns
Wallet – Bytom wallet class instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_seed("baff3e1fe60e1f2a2d840d304acc98d1818140c79354a353b400fb019bfb256bc392d7aa9047adff1f14bce0342e14605c6743a6c08e02150588375eb2eb7d49") <swap.providers.bytom.wallet.Wallet object at 0x040DA268>
-
from_xprivate_key
(xprivate_key: str) → swap.providers.bytom.wallet.Wallet¶ Initiate Bytom wallet from xprivate key.
- Parameters
xprivate_key (str) – Bytom wallet xprivate key.
- Returns
Wallet – Bytom wallet instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_xprivate_key("205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee51ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b") <swap.providers.bytom.wallet.Wallet object at 0x040DA268>
-
from_private_key
(private_key: str) → swap.providers.bytom.wallet.Wallet¶ Initialize Bytom wallet from private key.
- Parameters
private_key (str) – Bytom private key.
- Returns
Wallet – Bytom wallet instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_private_key("e07af52746e7cccd0a7d1fba6651a6f474bada481f34b1c5bab5e2d71e36ee515803ee0a6682fb19e279d8f4f7acebee8abd0fc74771c71565f9a9643fd77141") <swap.providers.bytom.wallet.Wallet object at 0x040DA268>
-
from_path
(path: str) → swap.providers.bytom.wallet.Wallet¶ Drive Bytom wallet from path.
- Parameters
path (str) – Bytom wallet path.
- Returns
Wallet – Bytom wallet instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") <swap.providers.bytom.wallet.Wallet object at 0x040DA268>
-
from_indexes
(indexes: List[str]) → swap.providers.bytom.wallet.Wallet¶ Drive Bytom wallet from indexes.
- Parameters
indexes (list) – Bytom derivation indexes.
- Returns
Wallet – Bytom wallet class instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_xprivate_key("205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee51ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b") >>> wallet.from_indexes(["2c000000", "99000000", "01000000", "00000000", "01000000"]) <swap.providers.bytom.wallet.Wallet object at 0x040DA268>
-
from_index
(index: int, harden: bool = False) → swap.providers.bytom.wallet.Wallet¶ Drive Bytom wallet from index.
- Parameters
index (int) – Bytom wallet index.
harden (bool) – Use harden, default to False.
- Returns
Wallet – Bytom wallet instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_index(44) >>> wallet.from_index(153) >>> wallet.from_index(1) >>> wallet.from_index(0) >>> wallet.from_index(1) <swap.providers.bytom.wallet.Wallet object at 0x040DA268>
-
clean_derivation
() → swap.providers.bytom.wallet.Wallet¶ Clean derivation Bytom wallet.
- Returns
Wallet – Bytom wallet instance.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.indexes() ["2c000000", "99000000", "01000000", "00000000", "01000000"] >>> wallet.path() "m/44/153/1/0/1" >>> wallet.clean_derivation() >>> wallet.indexes() [] >>> wallet.path() None
-
strength
() → Optional[int]¶ Get Bytom wallet strength.
- Returns
int – Bytom wallet strength.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.strength() 128
-
entropy
() → Optional[str]¶ Get Bytom wallet entropy.
- Returns
str – Bytom wallet entropy.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.entropy() "72fee73846f2d1a5807dc8c953bf79f1"
-
mnemonic
() → Optional[str]¶ Get Bytom wallet mnemonic.
- Returns
str – Bytom wallet mnemonic.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.mnemonic() "indicate warm sock mistake code spot acid ribbon sing over taxi toast"
-
passphrase
() → Optional[str]¶ Get Bytom wallet passphrase.
- Returns
str – Bytom wallet passphrase.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1", passphrase="meherett") >>> wallet.passphrase() "meherett"
-
language
() → Optional[str]¶ Get Bytom wallet language.
- Returns
str – Bytom wallet language.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.language() "english"
-
seed
() → Optional[str]¶ Get Bytom wallet seed.
- Returns
str – Bytom wallet seed.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.seed() "baff3e1fe60e1f2a2d840d304acc98d1818140c79354a353b400fb019bfb256bc392d7aa9047adff1f14bce0342e14605c6743a6c08e02150588375eb2eb7d49"
-
path
() → Optional[str]¶ Get Bytom wallet derivation path.
- Returns
str – Bytom derivation path.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet", change=True, address=3) >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.path() "m/44/153/1/0/1"
-
indexes
() → list¶ Get Bytom wallet derivation indexes.
- Returns
list – Bytom derivation indexes.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.indexes() ['2c000000', '99000000', '01000000', '00000000', '01000000']
-
xprivate_key
() → Optional[str]¶ Get Bytom wallet xprivate key.
- Returns
str – Bytom xprivate key.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.xprivate_key() "205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee51ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b"
-
xpublic_key
() → Optional[str]¶ Get Bytom wallet xpublic key.
- Returns
str – Bytom xpublic key.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.xpublic_key() "16476b7fd68ca2acd92cfc38fa353e75d6103f828276f44d587e660a6bd7a5c5ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b"
-
expand_xprivate_key
() → Optional[str]¶ Get Bytom wallet expand xprivate key.
- Returns
str – Bytom expand xprivate key.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.expand_xprivate_key() "205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee5102416c643cfb46ab1ae5a524c8b4aaa002eb771d0d9cfc7490c0c3a8177e053e"
-
child_xprivate_key
() → Optional[str]¶ Get Bytom child wallet xprivate key.
- Returns
str – Bytom child xprivate key.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.child_xprivate_key() "e07af52746e7cccd0a7d1fba6651a6f474bada481f34b1c5bab5e2d71e36ee515803ee0a6682fb19e279d8f4f7acebee8abd0fc74771c71565f9a9643fd77141"
-
child_xpublic_key
() → Optional[str]¶ Get Bytom child wallet xpublic key.
- Returns
str – Bytom child xpublic key.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.child_xpublic_key() "91ff7f525ff40874c4f47f0cab42e46e3bf53adad59adef9558ad1b6448f22e25803ee0a6682fb19e279d8f4f7acebee8abd0fc74771c71565f9a9643fd77141"
-
guid
() → Optional[str]¶ Get Bytom wallet Blockcenter GUID.
- Returns
str – Bytom Blockcenter GUID.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.guid() "f0ed6ddd-9d6b-49fd-8866-a52d1083a13b"
-
private_key
() → str¶ Get Bytom wallet private key.
- Returns
str – Bytom private key.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.private_key() "e07af52746e7cccd0a7d1fba6651a6f474bada481f34b1c5bab5e2d71e36ee515803ee0a6682fb19e279d8f4f7acebee8abd0fc74771c71565f9a9643fd77141"
-
public_key
() → str¶ Get Bytom wallet public key.
- Returns
str – Bytom public key.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.public_key() "91ff7f525ff40874c4f47f0cab42e46e3bf53adad59adef9558ad1b6448f22e2"
-
program
() → str¶ Get Bytom wallet control program.
- Returns
str – Bytom control program.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.program() "00142cda4f99ea8112e6fa61cdd26157ed6dc408332a"
-
address
(network: Optional[str] = 'mainnet') → str¶ Get Bytom wallet address.
- Parameters
network (str) – Bytom network, defaults to mainnet.
- Returns
str – Bytom wallet address.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_indexes(["2c000000", "99000000", "01000000", "00000000", "01000000"]) >>> wallet.address(network="mainnet") "bm1q9ndylx02syfwd7npehfxz4lddhzqsve2fu6vc7"
-
balance
(asset: str = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff') → int¶ Get Bytom wallet balance.
- Parameters
asset (str) – Bytom asset id, defaults to BTM asset.
- Returns
int – Bytom wallet balance (NEU amount).
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.balance() 71510800
-
utxos
(asset: str = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', limit: int = 15) → list¶ Get Bytom wallet unspent transaction output (UTXO’s).
- Parameters
asset (str) – Bytom asset id, defaults to BTM asset.
limit (int) – Limit of UTXO’s, default is 15.
- Returns
list – Bytom unspent transaction outputs.
>>> from swap.providers.bytom.wallet import Wallet >>> wallet = Wallet(network="mainnet") >>> wallet.from_entropy("72fee73846f2d1a5807dc8c953bf79f1") >>> wallet.from_path("m/44/153/1/0/1") >>> wallet.utxos() [{'hash': '7c1e20e6ff719176a3ed6f5332ec3ff665ab28754d2511950e591267e0e675df', 'asset': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'amount': 71510800}, {'hash': '01b07c3523085b75f1e047be3a73b263635d0b86f9b751457a51b26c5a97a110', 'asset': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'amount': 50000}, {'hash': 'e46cfecc1f1a26413172ce81c78affb19408e613915642fa5fb04d3b0a4ffa65', 'asset': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'amount': 100}]