5行python代码讲清楚如何在区块链挖矿
生活随笔
收集整理的這篇文章主要介紹了
5行python代码讲清楚如何在区块链挖矿
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
之前發(fā)了好幾篇講區(qū)塊鏈的,還有同學(xué)說不懂,今天我就試試用最少的話講明白挖礦,背景知識(shí)可以參考下我之前發(fā)的內(nèi)容。
- 先說下哈希是啥,哈希就是每個(gè)東西的唯一標(biāo)識(shí),比如x的哈希:hash(x)=ga8e9hea7h8ae89h78aeh9r
- 區(qū)塊鏈就是一個(gè)一個(gè)區(qū)塊,每個(gè)區(qū)塊是一個(gè)哈希
- 挖礦就是已知上一個(gè)區(qū)塊鏈的哈希值,找到與其匹配的下一個(gè)哈希值,這個(gè)匹配關(guān)系可以自己定義,比如上一個(gè)區(qū)塊鏈的值和下一個(gè)區(qū)塊鏈的值的乘積的哈希最后一位是0
ok,我們來看下代碼,假設(shè)有一個(gè)區(qū)塊它的值是5,那么它的哈希值就是hash(5),我們定義一個(gè)規(guī)則:假設(shè)5的下一個(gè)區(qū)塊鏈的值為y,那么y必須滿足hash(5*y)的最后一位是0,就定義y是5的下一個(gè)區(qū)塊鏈。要做的事情就是遍歷全部數(shù)值,知道找到符合條件的y,假設(shè)在比特幣的區(qū)塊鏈上,一旦找到y(tǒng),就會(huì)有好幾個(gè)比特幣的獎(jiǎng)勵(lì)。
代碼在此python2.7環(huán)境:
from hashlib import sha256x = 5y = 0 while sha256(str(x*y)).hexdigest()[-1] != "0":y += 1print('The solution is y = '+str(y))結(jié)果是y從0開始試,循環(huán)到21的時(shí)候滿足條件,也就是在這個(gè)規(guī)則下5的下一個(gè)區(qū)塊鏈就是21。
總結(jié)
以上是生活随笔為你收集整理的5行python代码讲清楚如何在区块链挖矿的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈文本词向量转换的机制embeddin
- 下一篇: 图像拐点检测-原理以及代码实现