Сам принцип создания кошелька:
Данный код создаст нам новый кошелек битка и вернет список с основными данными для входа в кошелек через условный траст, или в будущем вам может пригодиться wif для реализации функции отправки битков или другой монеты. На этом можно было бы закончить тему, но есть пару нюансов, а именно:
вот эти строчки кода, что они означают? Это путь адресов которые нам в итоге выведет функция, помимо этого кошелька, к нему создается очень много дочерних, но дочерние нам не нужны, потому что в условном трасте при входе по сид-фразе нам будет отображаться другой кошелек, чтобы этого избежать - мы должны прописать этот путь индивидуально под каждую монету, для этого:
В случае с битком это - m/84'/0'/0'/0/0
В случае с лайткоином это - m/84'/2'/0'/0/0
Получается наш код должен выглядеть так:
Спасибо за прочтение данной темы
Python:
from hdwallet import HDWallet
from hdwallet.utils import generate_entropy
from hdwallet.symbols import BTC as BITCOIN
from typing import Optional
import json
def create_btc():
STRENGTH: int = 160
LANGUAGE: str = "english"
ENTROPY: str = generate_entropy(strength=STRENGTH)
PASSPHRASE: Optional[str] = None
hdwallet: HDWallet = HDWallet(symbol=BITCOIN, use_default_path=False)
hdwallet.from_entropy(
entropy=ENTROPY, language=LANGUAGE, passphrase=PASSPHRASE
)
hdwallet.from_index(84, hardened=True)
hdwallet.from_index(0, hardened=True)
hdwallet.from_index(0, hardened=True)
hdwallet.from_index(0)
hdwallet.from_index(0)
btc_wallet = json.dumps(hdwallet.dumps(), indent=4, ensure_ascii=False)
vallet = []
= json.loads(btc_wallet)
vallet.append(['mnemonic'])
vallet.append(['private_key'])
vallet.append(['wif'])
vallet.append(['hash'])
vallet.append(['addresses']['p2wpkh'])
return vallet
Python:
hdwallet.from_index(84, hardened=True)
hdwallet.from_index(0, hardened=True)
hdwallet.from_index(0, hardened=True)
hdwallet.from_index(0)
hdwallet.from_index(0)
- Создаем кошелек для битка используя эту функцию
- Переходим на сайт - https://iancoleman.io/bip39/ (не реклама)
- Вставляем полученную сидку и выбираем нужную нам крипту в параметре coin
- Спускаемся ниже и видим:
- BIP32
- BIP44
- BIP49
- BIP84
- BIP141
В случае с битком это - m/84'/0'/0'/0/0
В случае с лайткоином это - m/84'/2'/0'/0/0
Получается наш код должен выглядеть так:
Python:
from hdwallet import HDWallet
from hdwallet.utils import generate_entropy
from hdwallet.symbols import LTC
from typing import Optional
import json
def create_ltc():
STRENGTH: int = 160
LANGUAGE: str = "english"
ENTROPY: str = generate_entropy(strength=STRENGTH)
PASSPHRASE: Optional[str] = None
hdwallet: HDWallet = HDWallet(symbol=LTC, use_default_path=False)
hdwallet.from_entropy(
entropy=ENTROPY, language=LANGUAGE, passphrase=PASSPHRASE
)
hdwallet.from_index(84, hardened=True)
hdwallet.from_index(2, hardened=True)
hdwallet.from_index(0, hardened=True)
hdwallet.from_index(0)
hdwallet.from_index(0)
ltc_wallet = json.dumps(hdwallet.dumps(), indent=4, ensure_ascii=True)
wallet = []
= json.loads(ltc_wallet)
wallet.append(['mnemonic'])
wallet.append(['private_key'])
wallet.append(['wif'])
wallet.append(['hash'])
wallet.append(['addresses']['p2wpkh'])
return wallet