mirror of
https://github.com/LORDBABUINO/stealth.git
synced 2026-06-09 14:11:52 -07:00
29 lines
957 B
Python
29 lines
957 B
Python
#!/usr/bin/env python3
|
|
import argparse
|
|
import getpass
|
|
import hashlib
|
|
from embit import bip32
|
|
from embit.networks import NETWORKS
|
|
from embit.script import p2wpkh
|
|
from embit.ec import PrivateKey
|
|
|
|
parser = argparse.ArgumentParser(description="Derive WIF and address from seed phrase")
|
|
parser.add_argument("seed", nargs="?", help="Seed phrase (if omitted, you'll be prompted)")
|
|
parser.add_argument("--network", choices=["test", "main"], default="test", help="Network")
|
|
args = parser.parse_args()
|
|
|
|
seed_phrase = args.seed or getpass.getpass("Seed phrase: ")
|
|
|
|
seed_bytes = hashlib.pbkdf2_hmac(
|
|
"sha512",
|
|
seed_phrase.encode("utf-8"),
|
|
b"electrum",
|
|
iterations=2048,
|
|
)
|
|
|
|
root = bip32.HDKey.from_seed(seed_bytes, version=NETWORKS[args.network]["xprv"])
|
|
key = root.derive("m/84h/1h/0h/0/0")
|
|
|
|
privkey = PrivateKey(key.key.secret)
|
|
print("WIF:", privkey.wif(NETWORKS[args.network]))
|
|
print("Address:", p2wpkh(key.to_public()).address(NETWORKS[args.network])) |