(编辑:jimmy 日期: 2024/12/27 浏览:2)
区块链的作业是比特币挖矿程序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机(服务器)想要挖到比特币是很难的。并且,目前出现了专业的挖矿公司和挖矿团队,个人的算力就根本微不足道了。所以,现在就是租赁挖矿公司的服务器,根据挖到的成果分红。还有一个问题,就是环保问题,当矿机工作的时候会产生噪声,而且特别消耗电力,会排放大量的二氧化碳。我个人认为仅仅只是为了获得记账权的服务费,而去挖矿其实不是太理想,因为浪费了大量的资源,包括计算机的算力,能源等等。