BTC(比特币)挖矿简单python程序实现

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

最后,感谢大家前来观看鄙人的文章,文中或有诸多不妥之处,还望指出和海涵。

猜你喜欢

转载自blog.csdn.net/weixin_43408020/article/details/109967907