Simple code to search 69 wallet
import os
import random
import hashlib
import ecdsa
import base58
TARGET_ADDRESS = "19vkiEajfhuZ8bs8Zu2jgmC6oqZbWqhxhG"
MIN_RANGE = int("100000000000000000", 16)
MAX_RANGE = int("1fffffffffffffffff", 16)
def private_key_to_address(priv_key_hex):
# Gerar chave privada como bytes
priv_key_bytes = bytes.fromhex(priv_key_hex)
# Gerar chave pública (comprimida)
sk = ecdsa.SigningKey.from_string(priv_key_bytes, curve=ecdsa.SECP256k1)
vk = sk.verifying_key
pubkey_point = vk.pubkey.point
x = pubkey_point.x()
y = pubkey_point.y()
prefix = b'\x02' if y % 2 == 0 else b'\x03'
pubkey_compressed = prefix + x.to_bytes(32, 'big')
# Hash da chave pública
sha256_1 = hashlib.sha256(pubkey_compressed).digest()
ripemd160 = hashlib.new('ripemd160', sha256_1).digest()
# Prefixo de endereço (0x00 para Mainnet)
prefix_ripemd160 = b'\x00' + ripemd160
# Checksum
checksum = hashlib.sha256(hashlib.sha256(prefix_ripemd160).digest()).digest()[:4]
# Endereço final em Base58
binary_address = prefix_ripemd160 + checksum
address = base58.b58encode(binary_address).decode()
return address
def generate_random_private_key():
return random.randint(MIN_RANGE, MAX_RANGE)
while True:
rand_key_int = generate_random_private_key()
priv_key_hex = f"{rand_key_int:064x}"
address = private_key_to_address(priv_key_hex)
print(f"Addr: {address}")
if address == TARGET_ADDRESS:
print("\n=== MATCH FOUND! ===")
print(f"Private Key: {priv_key_hex}")
break