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


Posted in Python onJanuary 20, 2021

区块链的作业是比特币挖矿程序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'则显示挖矿成功!!否则,挖矿失败。经过一段时间后的运行结果,如下图:

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

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

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

Python 相关文章推荐
Python中条件判断语句的简单使用方法
Aug 21 Python
Python使用PIL库实现验证码图片的方法
Mar 11 Python
Flask框架WTForm表单用法示例
Jul 20 Python
基于python生成器封装的协程类
Mar 20 Python
PyQt5组件读取参数的实例
Jun 25 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
Aug 19 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
Python学习之路安装pycharm的教程详解
Jun 17 Python
python开发一个解析protobuf文件的简单编译器
Nov 17 Python
详解非极大值抑制算法之Python实现
Jun 28 Python
python3中celery异步框架简单使用+守护进程方式启动
Jan 20 #Python
Django+Django-Celery+Celery的整合实战
Jan 20 #Python
详解Python Celery和RabbitMQ实战教程
Jan 20 #Python
详解python3类型注释annotations实用案例
Jan 20 #Python
python-jwt用户认证食用教学的实现方法
Jan 19 #Python
使用Python爬虫爬取小红书完完整整的全过程
Jan 19 #Python
python 自动识别并连接串口的实现
Jan 19 #Python
You might like
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
关于this和self的使用说明
2010/08/01 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
原生js仿jquery animate动画效果
2016/07/13 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
2017/10/20 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
Python字符串的修改方法实例
2019/12/19 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
研究生自我鉴定范文
2013/10/30 职场文书
工程索赔意向书
2014/08/30 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书