Advertisement
askanton

Пишем майнер для Bitcoin на Python

Aug 7th, 2021
3,895
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.97 KB | None | 0 0
  1. Manual - https://youtu.be/P7Ct-kpjVLY
  2.  
  3. from hashlib import sha256  # импортируем библиотеки
  4. import time
  5.  
  6. itt = 5  # Количество нулей которое мы ищем
  7. start = time.time()  # метка в начале запуска скрипта
  8. limit = 1000000  # количество попыток до остановки
  9. trans_data = '''  
  10.    3CV3FPL9EtMtrAfi5MJE4n3t5p8GvxrJ17 - 17m4MXxXzonEv4zBqqg8mg7ZfVSVQBjut6 - 0.03800000
  11.    3CV3FPL9EtMtrAfi5MJE4n3t5p8GvxrJ1 - 3LT7Dpy4YRhscHXifeuoGQKiJTWNfCZEXD - 0.00024776
  12.    '''  #
  13.  
  14. def Shmainer(new_block, transactions, old_hash, Nonce):  #основная функция манера
  15.     zeroeees = "0" * Nonce  #расчитываем сколько надо нулей
  16.     for try_num in range(limit):  #запускаем счётчик попыток
  17.         txt = str(new_block) + transactions + old_hash + str(try_num)  #собираем данные для нового хеша
  18.         #print(txt)
  19.         new_hash = sha256(txt.encode("ascii")).hexdigest()  #считаем новый хеш
  20.         #print(new_hash)
  21.         #time.sleep(10)
  22.         if new_hash.startswith(zeroeees):  #проверяем хеш на нужное количество нулей
  23.             print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", try_num)  #печатаем оповещалку
  24.             return (new_hash)  #возвращаем найденное значение
  25.     raise BaseException("No luck after {} tries".format(try_num))  #если не нашли хеш то возвращаем ошибку
  26.  
  27.  
  28. if __name__ == '__main__':  #запускаем основную функцию
  29.     my_result = Shmainer(5, trans_data, "00000000000000000008eaf9572d719453a099855aee0eea158e6494f7503d19", itt)  #запускаем майнер
  30.     total_time = str((time.time() - start))  #считаем время работы
  31.     print(my_result, total_time)  #выводим результат и время
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement