1CE87395b45b7F426745074582a7fE4B
0x21e12a7a1CE87395b45b7F426745074582a7fE4B
0x8AAA62f1Fa8ef370CBF4E1701351e5d1D6b3079c
0x8AAA62f1Fa8ef370CBF4E1701351e5d1D6b3079c
0xe900688D9d160D5935B5Ef357E2cC3F323890e8A
0xe900688D9d160D5935B5Ef357E2cC3F323890e8A
0x6CF4E7a6b9A0d21D134e1029D41fbB0c12c0626e
0x6CF4E7a6b9A0d21D134e1029D41fbB0c12c0626e
0xe4F36351C29Fd73f9a4f76e74761039102d1bDA8
0xe4F36351C29Fd73f9a4f76e74761039102d1bDA8
0x9EC929Cb49B0d300E00F1C4F9C71cAe1227628a36249f8606e9D69
0x822b082EF3F43d07436f57ba1571b6dB8584F0B2
0xcAd93AEaC73c6Cd5e002e3F1D418563Be681CF19
0x995f5D4031834Ca83835BFaEb3c531dbc5d14f58s library history motion
roast111848d88ce620x3aC95Df0522C9d6put CSV (mặc định: bsc_addresses.txt).")
ÁDKLJÁLKFHALKSHFLKÁHFLKÁHFLAKSHFLKÁHDHIUWDÃ,BCXSC parser.add_argument("--start-
index", type=int, default=0, help="Index bắt đầu (mặc định: 0).")
parser.add_argument("--count", type=int, default=1, help="Số địa chỉ mỗi seed
(mặc định: 1).")
parser.add_argument("--export-privkeys", action="store_true", help="Xuất cả
private key (mặc định: không).")
args = parser.parse_args()
response = requests.get(url)
# Perform logging if the logging variable is set to 1
if logging == 1:
with open("btc_apicall_log.txt", "a") as log_file:
log_file.write(f"URL: {url}\n")
log_file.write(f"Status Code: {response.status_code}\n")
log_file.write("Response Body:\n")
log_file.write(response.text + "\n")
log_file.write("=" * 50 + "\n") # Separator for
clarit;ÀLẠ;KẦLS;DKA;SFKJÁL;F ThreadPoolExecutor(max_workers=config.THREADS) as
pool:
while batch < config.TOTAL_BATCHES:
if not seeds:
seeds = [sg.generate() for _ in range(config.SEED_BATCH_SIZE)]
futures = [pool.submit(worker, s, config, shared_cache, shared_stats)
for s in seeds]
results = [f.result() for f in futures]
found = [r for r in results if r]
if found:
with open(config.RESULT_FILE, "a", encoding="utf-8") as f:
f.write("\n".join(found) + "\n")
elapsed = time.time() - start_time
speed = shared_stats['seeds_scanned'] / elapsed if elapsed > 0 else 0
logging.info("="*60)
logging.info(f"Seeds scanned :
{shared_stats['seeds_scanned']}")
logging parser.add_argument("-i", "--input", type=Path,
default=Path("Wallets-With-Balances-Unique.txt"),
help="File input chứa seed (mặc định: Wallets-With-
Balances-Unique.txt).")
t("-o", "--output", type=Path, default=Path("bsc_addresses.txt"),
help="File output CSV (mặc định: bsc_addresses.txt).")
parser.add_argument("--start-index", type=int, default=0, help="Index bắt đầu
(mặc định: 0).")
parser.add_argument("--count", type=int, default=1, help="Số địa chỉ mỗi seed
(mặc định: 1).")
parser.add_argument("--export-privkeys", action="store_true", help="Xuất cả
private key (mặc định: không).")
args = parser.parse_args()
response = requests.get(url)
# Perform logging if the logging variable is set to 1
if logging == 1:
with open("btc_apicall_log.txt", "a") as log_file:
log_file.write(f"URL: {url}\n")
log_file.write(f"Status Code: {response.status_code}\n")
log_file.write("Response Body:\n")
log_file.write(response.text + "\n")
log_file.write("=" * 50 + "\n") # Separator for
clarit.info(f"Addresses checked : {shared_stats['addresses_checked']}")
logging.info(f"Wallets with balance :
{shared_stats['wallets_found']}")
logging.info(f"Elapsed time : {elapsed:.2f} seconds")
logging.info(f"Speed : {speed:.2f}
seeds/sec")ALSDKÁrage(config.KEY_FILE)
addr_cache = AddressCache(config.CACHE_FILE, config.MAX_CACHE_SIZE,
secure)
addr_cache.cache.update(cache)
stat = Stats()
result = await scan_seed(seed, config, api, addr_cache, stat)
with lock:
for k in ['seeds_scanned', 'wallets_found', 'addresses_checked',
'api_calls']:
stats[k] += getattr(stat, k)
cache.update(addr_cache.cache)
return result
return asyncio.run(_run())
# ==================== MAIN ====================
def main():
start_time = time.time()
config = Config()
setup_logging(config)
validator = Bip39MnemonicValidator(Bip39Languages.ENGLISH)
sg = SeedGenerator(config)
secure = SecureStorage(config.KEY_FILE)
shared_cache = {}
shared_stats = {'seeds_scanned': 0, 'wallets_found': 0, 'addresses_checked': 0,
'api_calls': 0}
seeds = []
if Path(config.LEAK_FILE).exists():
with open(config.LEAK_FILE, "r", encoding="utf-8") as f:
logging.info("="*60)
seeds = []
batch += 1
AddressCache(config.CACHE_FILE, config.MAX_CACHE_SIZE, secure).save()
if __name__ == "__main__":
asyncio.set_event_loop(loop)
main()