paython' da yazılmış bir yazılım
adres üretimi yapıp balance kontrolü yapıyor.
oluşan adresleri csv dosyasına atar...
modülleri yükleyip hemen kullanabilirsiniz.
#!/usr/bin/env python
import os
import ecdsa
import hashlib
import base58
import requests
import time
from smtplib import SMTP_SSL as SMTP
import logging
wif = ""
logging.basicConfig(filename='BTC_PrivateKeys_'+time.strftime("%Y-%m-%d-%H-%M")+'.csv', \
level=logging.INFO, format='%(message)s', datefmt='%Y-%m-%d,%H:%M:%S')
logging.getLogger("requests").setLevel(logging.WARNING)
logging.info ('"Timestamp", "WifKey", "PublicAddress"')
def ping_address(publicAddress):
global pk
global wif
global publicKey
"""
sends Request to a Block Explorer
Main one is blockexplorer - seems to be UNLIMITED...using chain.so has a rate limiter
https://blockexplorer.com/api/addr/ balance = pmts['balance']
https://chain.so/api/v2/get_address_balance/BTC/ balance = pmts['data']['confirmed_balance']
"""
req = requests.get("
https://blockexplorer.com/api/addr/"+publicAddress)
pmts = req.json()
balance = pmts['balance']
print balance
# "WifKey", "HexKey", "PublicAddress", "PublicKey", "Balance"
logging.info (''+ time.strftime("%m-%d-%y %H:%M:%S") +','+ wif +','+publicAddress +', ' + str(balance) )
if float(balance) > 0.00000000:
print "Tebrikler, aktif bir hesap buldunuz"
def wif_conversion(pk):
global wif
padding = '80' + pk
# print padding
hashedVal = hashlib.sha256(padding.decode('hex')).hexdigest()
checksum = hashlib.sha256(hashedVal.decode('hex')).hexdigest()[:8]
# print hashedVal
# print padding+checksum
payload = padding + checksum
wif = base58.b58encode(payload.decode('hex'))
print wif
while True:
pk = os.urandom(32).encode("hex")
wif_conversion(pk)
sk = ecdsa.SigningKey.from_string(pk.decode("hex"), curve = ecdsa.SECP256k1)
vk = sk.verifying_key
publicKey = ("\04" + vk.to_string())
ripemd160 = hashlib.new('ripemd160')
ripemd160.update(hashlib.sha256(publicKey).digest())
networkAppend = '\00' + ripemd160.digest()
checksum = hashlib.sha256(hashlib.sha256(networkAppend).digest()).digest()[:4]
binary_address = networkAppend + checksum
publicAddress = base58.b58encode(binary_address)
print publicAddress
while True:
try:
ping_address(publicAddress)
except ValueError:
print "bekleyin 3 saniye"
print pk
print publicAddress
time.sleep(3)
continue
break
# msg = "I own your Private Key for %s" %(publicAddress)
# signed_msg = sk.sign(msg)
# encoded_msg = signed_msg.encode("hex")