İki kod daha uğraşan arkadaşlara
1. Kod BNB ağındaki sizin tarafınızdan verilen blok aralığındaki blokları tarayarak bakiyesi 0 dan büyük adresleri bir txt dosyasına yazdırır. (Api kullanmadığı için biraz zorlayabilir bazı bloklarda çok fazla adres olmasından kaynaklı)
2. Kon 1. kodda üretilen txt dosyasını hafızaya alıp rasgele private key üretip txt dosyasında bir eşleşmeyle karşılaşırsa başka bir txt dosyasına eşleşen adres ile pk yazdırır....
1. KOD >>>>>>from web3 import Web3
from web3.middleware import geth_poa_middleware
bsc = Web3(Web3.HTTPProvider('
https://bsc-dataseed.binance.org/'))
bsc.middleware_onion.inject(geth_poa_middleware, layer=0)
def check_balance(address):
balance = bsc.eth.get_balance(address)
return balance
def get_non_zero_balance_addresses(start_block, end_block):
non_zero_addresses = set()
for block_num in range(start_block, end_block + 1):
block = bsc.eth.get_block(block_num, full_transactions=True)
for tx in block.transactions:
if tx.to:
balance = check_balance(tx.to)
if balance > 0:
non_zero_addresses.add((tx.to, Web3.from_wei(balance, 'ether')))
balance = check_balance(tx['from'])
if balance > 0:
non_zero_addresses.add((tx['from'], Web3.from_wei(balance, 'ether')))
print(f"Processed block {block_num}/{end_block}")
return non_zero_addresses
def save_to_file(non_zero_addresses, filename='non_zero_balances.txt'):
with open(filename, 'w') as f:
for address, balance in non_zero_addresses:
f.write(f'{address}\n')
def main():
start_block = 1 # Başlangıç bloğunu belirleyin
end_block = 3500 # Bitiş bloğunu belirleyin
non_zero_addresses = get_non_zero_balance_addresses(start_block, end_block)
save_to_file(non_zero_addresses)
print(f'{len(non_zero_addresses)} addresses with non-zero balance found and saved to non_zero_balances.txt.')
if __name__ == '__main__':
main()
2. KOD >>>>
import os
import random
import time
from web3 import Web3
from eth_account import Account
bsc = Web3(Web3.HTTPProvider('
https://bsc-dataseed.binance.org/'))
def generate_random_keypair():
account = Account.create(os.urandom(32))
return account.key, account.address
def load_addresses(filename='non_zero_balances.txt'):
addresses = set()
with open(filename, 'r') as f:
for line in f:
if line.startswith('Address:'):
address = line.split()[1][:-1]
addresses.add(address)
return addresses
def save_found_key(address, private_key, filename='found_keys.txt'):
with open(filename, 'a') as f:
f.write(f'Address: {address}, Private Key: {private_key}\n')
def main():
known_addresses = load_addresses()
print(f'Loaded {len(known_addresses)} known addresses.')
found = False
total_attempts = 0
interval_attempts = 0
start_time = time.time()
while not found:
private_key, address = generate_random_keypair()
if address in known_addresses:
print(f'Found a match! Address: {address}, Private Key: {private_key.hex()}')
save_found_key(address, private_key.hex())
found = True
total_attempts += 1
interval_attempts += 1
current_time = time.time()
if current_time - start_time >= 1:
print(f'{interval_attempts} attempts made in the last second.')
interval_attempts = 0
start_time = current_time
if total_attempts % 1000 == 0:
print(f'{total_attempts} total attempts made, still searching...')
if __name__ == '__main__':
main()