софт/скрипт для адресов Solana

mLER.off

Бывалый
22
4
Может кто видел софт/скрипт для генерации адресов Solana из сидок, с сохранением adress/ adress-privatekey/seed ?
 

MISTER_BOND

АВТОРИТЕТ
65
28
from bip_utils import (
Bip39SeedGenerator,
Bip32Slip10Ed25519,
SolAddr
)
import base58

INPUT_FILE = "seeds.txt"
OUTPUT_FILE = "keys_addresses_base58.txt"
DERIVATION_PATH = "m/44'/148'/0'"

def derive_solana_secret_base58(mnemonic: str):
seed_bytes = Bip39SeedGenerator(mnemonic).Generate()
ctx = Bip32Slip10Ed25519.FromSeed(seed_bytes).DerivePath(DERIVATION_PATH)

priv_key = ctx.PrivateKey().Raw().ToBytes() # 32 bytes
pub_key = ctx.PublicKey().RawCompressed().ToBytes()[1:] # 32 bytes

# ✅ Solana secret key = private + public
secret_key_64 = priv_key + pub_key

secret_base58 = base58.b58encode(secret_key_64).decode()
pub_base58 = base58.b58encode(pub_key).decode()
address = SolAddr.EncodeKey(pub_key)

return secret_base58, pub_base58, address

with open(INPUT_FILE, "r", encoding="utf-8") as f, \
open(OUTPUT_FILE, "a", encoding="utf-8") as out:

for i, line in enumerate(f, 1):
mnemonic = line.strip()
if not mnemonic:
continue

try:
secret_b58, pub_b58, addr = derive_solana_secret_base58(mnemonic)

out.write(
f"#{i}\n"
f"SEED: {mnemonic}\n"
f"SOLANA_SECRET_KEY_BASE58: {secret_b58}\n"
f"PUBLIC_KEY_BASE58: {pub_b58}\n"
f"ADDRESS: {addr}\n"
f"{'-'*70}\n"
)
out.flush()

print(f"[{i}] OK {addr}")

except Exception as e:
out.write(f"#{i} ERROR: {e}\n{'-'*70}\n")
out.flush()
print(f"[{i}] ERROR {e}")


ВОТ ПРОСТОЙ ПИТОНОВСКИЙ СКРИПТ, ДЕРИВАЦИЮ НУЖНУЮ САМ ПОДСТАВИШЬ ( В САМОМ ВЕРХУ КОДА)
ЕСЛИ ФОРМАТ СОХРАНКИ НЕ ПОДХОДИТ, ТО ЭТО МОЖНО ЗА 2 МИНУТЫ ИЗМЕНИТЬ В ЧАТЕГПТ.
INPUT_FILE = "seeds.txt" - ТЕКСТОВИК С СИДКАМИ РЯДОМ СО СКРИПТОМ