Wallet

The implementation of Hierarchical Deterministic (HD) wallets generator for Bytom blockchain.

class shuttle.providers.bytom.wallet.Wallet(network='testnet', account=1, change=False, address=1, path=None, indexes=None)

Bytom Wallet class.

Parameters
  • network (str) – Bytom network, defaults to testnet.

  • account (int) – Bytom derivation account, defaults to 1.

  • change (bool) – Bytom derivation change, defaults to False.

  • address (int) – Bytom derivation address, defaults to 1.

  • path (str) – Bytom derivation path, defaults to None.

  • indexes (list) – Bytom derivation indexes, defaults to None.

Returns

Wallet – Bytom wallet instance.

Note

Bytom has only three networks, mainnet, solonet and testnet.

from_entropy(entropy)

Initiate Bytom wallet from entropy.

Parameters

entropy (str.) – Bytom wallet entropy.

Returns

Wallet – Bytom wallet instance.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_entropy("...")
<shuttle.providers.bytom.wallet.Wallet object at 0x040DA268>
from_mnemonic(mnemonic)

Initiate Bytom wallet from mnemonic.

Parameters

mnemonic (str.) – Bytom wallet mnemonic.

Returns

Wallet – Bytom wallet instance.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
<shuttle.providers.bytom.wallet.Wallet object at 0x040DA268>
from_seed(seed)

Initiate Bytom wallet from seed.

Parameters

seed (str.) – Bytom wallet seed.

Returns

Wallet – Bytom wallet instance.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_seed("baff3e1fe60e1f2a2d840d304acc98d1818140c79354a353b400fb019bfb256bc392d7aa9047adff1f14bce0342e14605c6743a6c08e02150588375eb2eb7d49")
<shuttle.providers.bytom.wallet.Wallet object at 0x040DA268>
from_xprivate_key(xprivate_key)

Initiate Bytom wallet from xprivate key.

Parameters

xprivate_key (str.) – Bytom wallet xprivate key.

Returns

Wallet – Bytom wallet instance.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_xprivate_key("205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee51ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b")
<shuttle.providers.bytom.wallet.Wallet object at 0x040DA268>
from_xpublic_key(xpublic_key)

Initiate Bytom wallet from xpublic key.

Parameters

xpublic_key (str.) – Bytom wallet xpublic key.

Returns

Wallet – Bytom wallet instance.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_xpublic_key("16476b7fd68ca2acd92cfc38fa353e75d6103f828276f44d587e660a6bd7a5c5ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b")
<shuttle.providers.bytom.wallet.Wallet object at 0x040DA268>
from_public_key(public)

Initiate Bytom wallet from public key.

Parameters

public (str.) – Bytom wallet public key.

Returns

Wallet – Bytom wallet instance.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_public_key("91ff7f525ff40874c4f47f0cab42e46e3bf53adad59adef9558ad1b6448f22e2")
<shuttle.providers.bytom.wallet.Wallet object at 0x040DA268>
path()

Get Bytom wallet derivation path.

Returns

str – Bytom derivation path.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet", change=True, address=3)
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.path()
"m/44/153/1/1/3"
seed()

Get Bytom wallet seed.

Returns

str – Bytom seed.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.seed()
"baff3e1fe60e1f2a2d840d304acc98d1818140c79354a353b400fb019bfb256bc392d7aa9047adff1f14bce0342e14605c6743a6c08e02150588375eb2eb7d49"
indexes()

Get Bytom wallet derivation indexes.

Returns

list – Bytom derivation indexes.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.indexes()
['2c000000', '99000000', '01000000', '00000000', '01000000']
xprivate_key()

Get Bytom wallet xprivate key.

Returns

str – Bytom xprivate key.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.xprivate_key()
"205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee51ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b"
xpublic_key()

Get Bytom wallet xpublic key.

Returns

str – Bytom xpublic key.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.xpublic_key()
"16476b7fd68ca2acd92cfc38fa353e75d6103f828276f44d587e660a6bd7a5c5ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b"
expand_xprivate_key()

Get Bytom wallet expand xprivate key.

Returns

str – Bytom expand xprivate key.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.expand_xprivate_key()
"205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee5102416c643cfb46ab1ae5a524c8b4aaa002eb771d0d9cfc7490c0c3a8177e053e"
private_key()

Get Bytom wallet private key.

Returns

str – Bytom private key.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.private_key()
"e07af52746e7cccd0a7d1fba6651a6f474bada481f34b1c5bab5e2d71e36ee515803ee0a6682fb19e279d8f4f7acebee8abd0fc74771c71565f9a9643fd77141"
public_key()

Get Bytom wallet public key.

Returns

str – Bytom public key.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.public_key()
"e07af52746e7cccd0a7d1fba6651a6f474bada481f34b1c5bab5e2d71e36ee515803ee0a6682fb19e279d8f4f7acebee8abd0fc74771c71565f9a9643fd77141"
program()

Get Bytom wallet control program.

Returns

str – Bytom control program.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.program()
"00142cda4f99ea8112e6fa61cdd26157ed6dc408332a"
address()

Get Bytom wallet address.

Returns

str – Bytom address.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.address()
"bm1q9ndylx02syfwd7npehfxz4lddhzqsve2fu6vc7"
guid()

Get Bytom wallet blockcenter guid.

Returns

str – Bytom blockcenter guid.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.guid()
"f0ed6ddd-9d6b-49fd-8866-a52d1083a13b"
balance(asset='ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff')

Get Bytom wallet balance.

Parameters

asset (str) – Bytom asset id, defaults to BTM asset.

Returns

int – Bytom balance.

>>> from shuttle.providers.bytom.wallet import Wallet
>>> wallet = Wallet(network="mainnet")
>>> wallet.from_mnemonic("indicate warm sock mistake code spot acid ribbon sing over taxi toast")
>>> wallet.balance()
2450000000