Развернуть код на pythonanywhere.com на bipwallet
Я написал код для генерации дочерних адресов кошельков биткоинов. На pythonanywhere он работает с ошибкой, ошибка формата. Почему-то уверен, из-за отсутствия плагина
В чём, собственно, и вопрос: как его туда подтянуть?
Но тот же код на Pydroid + Repository Plugin работает отлично. В чём причина?
Вот код:
from bipwallet.utils import *
def gen_address(index):
# Наша seed фраза
seed = 'vivid area able second bicycle advance demand alpha flip stable drift route'
# Мастер ключ из seed фразы
master_key = HDPrivateKey.master_key_from_mnemonic(seed)
# Public key из мастер ключа по пути 'm/44/0/0/0'
root_keys = HDKey.from_path(master_key, "m/44'/0'/0'/0")[-1].public_key.to_b58check()
# Extended public key
xpublic_key = str(root_keys, encoding="utf-8")
# Адрес дочернего кошелька в зависимости от значения index
address = Wallet.deserialize(xpublic_key, network='BTC').get_child(index, is_prime=False).to_address()
rootkeys_wif = HDKey.from_path(master_key, f"m/44'/0'/0'/0/{index}")[-1]
# Extended private key
xprivatekey = str(rootkeys_wif.to_b58check(), encoding="utf-8")
# Wallet import format
wif = Wallet.deserialize(xprivatekey, network='BTC').export_to_wif()
return address, str(wif, 'utf-8')
print(gen_address(0))
Ошибка:
Traceback (most recent call last):
File "/home/blacar/Blacar/blockchain", line 35, in <module>
print(gen_address(0))
File "/home/blacar/Blacar/blockchain", line 20, in gen_address
address = Wallet.deserialize(xpublic_key, network='BTC').get_child(index, is_prime=False).to_address()
File "/home/blacar/.local/lib/python3.9/site-packages/bipwallet/utils/utils.py", line 67, in _c
f.cache[key] = f(*args, **kwargs)
File "/home/blacar/.local/lib/python3.9/site-packages/bipwallet/utils/bip32.py", line 320, in get_child
data = self.get_public_key_hex()
File "/home/blacar/.local/lib/python3.9/site-packages/bipwallet/utils/bip32.py", line 155, in get_public_key_hex
return ensure_bytes(self.public_key.get_key(compressed))
File "/home/blacar/.local/lib/python3.9/site-packages/bipwallet/utils/keys.py", line 240, in get_key
long_to_hex(parity, 2) +
File "/home/blacar/.local/lib/python3.9/site-packages/bipwallet/utils/utils.py", line 53, in long_to_hex
return ensure_bytes(f_str.format(l).lower())
TypeError: unsupported format string passed to mpz.format