当前位置 : 主页 > 编程语言 > python >

python程序实现BTC(比特币)挖矿的完整代码

来源:互联网 收集:自由互联 发布时间:2021-04-02
区块链的作业是比特币挖矿程序python实现,我做完了跟大家分享一波。 完整代码如下: #Author:Mr.Pan_学狂#Finish_time:2020/11/22/22:34import hashlibimport timedef find_gold():#参数D是难度系数 x = 0#算力

区块链的作业是比特币挖矿程序python实现,我做完了跟大家分享一波。

完整代码如下:

#Author:Mr.Pan_学狂
#Finish_time:2020/11/22/22:34
import hashlib
import time
def find_gold():#参数D是难度系数
  x = 0#算力初始值
  Diffcult_number = str(input('请输入难度系数:'))
  print('开始挖矿!!')
  while True:
    x += 1
    string = 'hello'
    start_string = str(x)
    combine_string = start_string + string#字符串拼接
    h = hashlib.sha256()#采用sha256加密
    h.update(combine_string.encode('utf-8'))#utf-8编码后哈希加密
    gold_hash = h.hexdigest()
    #print(gold_hash)
    startTime = time.perf_counter()
    if gold_hash[0:len(Diffcult_number)] == Diffcult_number:#对比哈希值的x位与难度系数是否相同,x为难度系数
      print('算力:{}'.format(x), '用时:{}'.format(startTime))
      print('哈希值:%s' % gold_hash)#占位符
      print('挖矿成功!!')
      break
    elif gold_hash[0:len(Diffcult_number)] != Diffcult_number:#哈希值前x位与难度系数不相同
      print('算力:{}'.format(x),'用时:{}'.format(startTime))
      print('哈希值:%s' % gold_hash)
      print('没有挖到!!')
      print()
      continue
if __name__ == '__main__':#主函数,调用函数,程序出口。
  find_gold()

我设置的难度规则系数是:‘0abd',若哈希值的最前面四位是'0abd'则显示挖矿成功!!否则,挖矿失败。经过一段时间后的运行结果,如下图:

在这里插入图片描述

我觉得随着时代的进步,矿机的升级,个人PC机(服务器)想要挖到比特币是很难的。并且,目前出现了专业的挖矿公司和挖矿团队,个人的算力就根本微不足道了。所以,现在就是租赁挖矿公司的服务器,根据挖到的成果分红。还有一个问题,就是环保问题,当矿机工作的时候会产生噪声,而且特别消耗电力,会排放大量的二氧化碳。我个人认为仅仅只是为了获得记账权的服务费,而去挖矿其实不是太理想,因为浪费了大量的资源,包括计算机的算力,能源等等。

到此这篇关于python程序实现BTC(比特币)挖矿的完整代码的文章就介绍到这了,更多相关python实现BTC(比特币)挖矿内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

网友评论