之前发了好几篇讲区块链的,还有同学说不懂,今天我就试试用最少的话讲明白挖矿,背景知识可以参考下我之前发的内容。

  • 先说下哈希是啥,哈希就是每个东西的唯一标识,比如x的哈希:hash(x)=ga8e9hea7h8ae89h78aeh9r
  • 区块链就是一个一个区块,每个区块是一个哈希
  • 挖矿就是已知上一个区块链的哈希值,找到与其匹配的下一个哈希值,这个匹配关系可以自己定义,比如上一个区块链的值和下一个区块链的值的乘积的哈希最后一位是0

ok,我们来看下代码,假设有一个区块它的值是5,那么它的哈希值就是hash(5),我们定义一个规则:假设5的下一个区块链的值为y,那么y必须满足hash(5*y)的最后一位是0,就定义y是5的下一个区块链。要做的事情就是遍历全部数值,知道找到符合条件的y,假设在比特币的区块链上,一旦找到y,就会有好几个比特币的奖励。

代码在此python2.7环境:

from hashlib import sha256x = 5y = 0  while sha256(str(x*y)).hexdigest()[-1] != "0":y += 1print('The solution is y = '+str(y))

结果是y从0开始试,循环到21的时候满足条件,也就是在这个规则下5的下一个区块链就是21。

5行python代码讲清楚如何在区块链挖矿相关推荐

  1. 用不到 50 行的 Python 代码构建最小的区块链

    (点击上方公众号,可快速关注) 译文:黑色巧克力 geek.csdn.net/news/detail/228355 如有好文章投稿,请点击 → 这里了解详情 尽管一些人认为区块链是一个等待问题的解决方 ...

  2. 200行Go代码实现自己的区块链——区块生成与网络通信

    go启动后,可以用telnet登录访问. 注意端口配置写在.env里面. 源码:https://github.com/mycoralhealth/blockchain-tutorial/tree/ma ...

  3. vue如何生成公钥私钥_百行Python代码演示1私钥生成多公链公钥原理。|区块链财富指北私钥篇(2)...

    <区块链财富指北>系列文章由NOCY.COM策划,肖南飞主笔撰写. 技术选型基于BOScore公链,旨在以有趣易懂的方式传播普及区块链技术,不构成任何投资建议! 学习之前说学习 今天这篇文 ...

  4. 02《区块链财富指北》私钥篇(2):百行Python代码演示一私钥生成多公链公钥原理。

    私钥(2):百行Python代码演示一私钥生成多公链公钥原理. <区块链财富指北>系列文章由NOCY.COM策划,肖南飞主笔撰写. 技术选型基于BOScore公链,旨在以有趣易懂的方式传播 ...

  5. 7行Python代码,搭建可以识花的机器学习App|视频教程

    你想学Python,却不知如何着手,那你需要一种更加有趣的学习方式. Siraj Raval是一位人工智能领域的编程高手,毕业于哥伦比亚大学,曾任职于 Twilio 和 Meetup,他通过制作教程类 ...

  6. python 按钮更改输入框的值_利用 50 行 Python 代码构建一个在线文本生成器!

    本指南将引导你学习构建一个自动完成任意输入文本的Web应用程序. 作者 | Dev Sharma译者 | 苏本如,责编 | 郭芮出品 | CSDN(ID:CSDNnews) 以下为译文: 在本文中,我 ...

  7. 10行 python 代码做出哪些酷炫的事情?

    来源 | Python小二 Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的 ...

  8. 几行 Python 代码实现邮件解析,超赞~

    作者 | Yunlor 来源 | CSDN博客 前言 如何通过python实现邮件解析?邮件的格式十分复杂,主要是mime协议,本文主要是从实现出发,具体原理可以自行研究. 一.安装 通过mailgu ...

  9. DeepMind提图像生成的递归神经网络DRAW,158行Python代码复现

    作者 | Samuel Noriega 译者 | Freesia 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]最近,谷歌 DeepMInd 发表论文( DRAW: ...

最新文章

  1. 省市县三级级联(模块化开发)
  2. 第一个java程序释义_Java 学习之路(1)第一个Java程序
  3. 物联网、自动化的冲击下未来20年职场六大趋势
  4. php7.3 安装详解,php7.3.20以及常用拓展安装
  5. Java项目出现的问题01----学习
  6. 其中一个页签慢_渭南提升一个大专学历的有效方法
  7. 将Springboot项目放在服务器上一直运行
  8. ZOJ 2060----Fibonacci Again
  9. 深度学习知识体系总结(2021版)开放下载了!
  10. 移动硬盘连接计算机接口类型,移动硬盘数据线接口类型有哪几种-单usb接口
  11. WIN32 API串口通信编程
  12. CESI: Canonicalizing Open Knowledge Bases using Embeddings and Side Information
  13. 药王修美乐黄金单品战法
  14. 【从FT到DFT和FFT】(一)从三角函数正交性到傅里叶变换的详细公式推导
  15. Linux C/C++ 零基础学习编程教程,Linux 系统编程教程
  16. Java学习——Java基础
  17. HTML相对路径--上级目录及下级目录的写法
  18. html网页设计作品教材制作,《网页设计与制作》网页-教材-制作.pdf
  19. php中常用的设计模式视频,PHP设计模式视频
  20. 浅谈Python语法之quote()使用

热门文章

  1. java怎么创建log4_如何使用log4j记录日志
  2. C程序背后的故事--头文件、库文件的查找
  3. 用php画一个蓝底红色的圆_php把图片处理成圆形透明的头像
  4. java 快排非递归_C++ 中快排的递归和非递归实现
  5. 电脑不能访问服务器指定端口6,windows server2008 无法访问本机及其他服务器的所有端口...
  6. HTML5 中的canvas元素用于,HTML5中的Canvas元素
  7. java小程序连接数据库_Java程序连接各种数据库的方法
  8. app.vue只执行一次吗_面包可以只发酵一次吗?
  9. linux 下如何安装php,详解在Linux下如何安装配置PHP
  10. elasticsearch最大节点数_Elasticsearch选举原理之Bully算法