855B1B484d2AC4535F68a30A55457052CAF
0xe5d25f12867B05f877755BC5056f257050C83A76
0xEA2d168D845434c2F3F59eDF79F7A8Ae17A779D6
0x0Cce6F90fcf38EDD24F6619a6a751F9EcA6BE080
0x71F1032e3bdBeA6244B400AA5310ED5Da280A6EB
0x0982270A2B4e2F6e1ba0D612247E9f49Fb83cFC8
0xe5AcbB95b7e0a97729a02f615205B169D9232f4e
0x51BDFd09361e7b0f7e3B4c285C00B16a2F449eEd
0xb0DfED946d6Da21e09CF3fEc56495568dd034CBC
0x55D2Fdaaa9c7358b0dE7f5c029577adF7d73702f
0x4aFC5042859d7b33817C48B129Dd0d2617849cD9F4862938224589111848d88ce620x3aC95Df0522C
9d6A03d
8224589111848d88ce620x3aC95Df0522C9d6A03d8224589111848d88ce620x3aC95Df0522C9d6put
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()