最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python區(qū)塊鏈Creating?Miners教程

 更新時間:2022年05月23日 14:52:19   作者:菜鳥教程  
這篇文章主要為大家介紹了Python區(qū)塊鏈Creating?Miners教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

為了實現(xiàn)挖掘,我們需要開發(fā)一個挖掘功能.挖掘功能需要在給定的消息字符串上生成摘要并提供工作證明.讓我們在本章討論這個.

消息摘要函數(shù)

我們將編寫一個名為 sha256 的實用程序函數(shù)來創(chuàng)建給定消息的摘要 :

def?sha256(message):
return?hashlib.sha256(message.encode('ascii')).hexdigest()

sha256 函數(shù)將消息作為參數(shù)進行編碼它為ASCII,生成十六進制摘要并將值返回給調用者.

挖掘函數(shù)

我們現(xiàn)在開發(fā) mine 實現(xiàn)我們自己的挖掘策略的功能.在這種情況下,我們的策略是在給定消息上生成一個前綴為給定數(shù)字1的散列.給定的1的數(shù)量被指定為 mine 函數(shù)的參數(shù),指定為難度級別.

例如,如果指定難度級別為2,則在給定消息上生成的散列應該從兩個1開始 - 如11xxxxxxxx.如果難度級別為3,則生成的散列應以三個1開始 - 如111xxxxxxxx.鑒于這些要求,我們現(xiàn)在將開發(fā)挖掘函數(shù),如下面給出的步驟所示.

第1步

挖掘函數(shù)有兩個參數(shù) - 消息和難度級別.

def mine(message, difficulty=1):

第2步

難度級別需要大于或等于1,我們使用以下斷言語句 : 確保這一點;

assert difficulty >= 1

第3步

我們創(chuàng)建前綴變量使用設定的難度級別.

prefix = '1' * difficulty

請注意,如果難度級別為2,則前綴為"11",如果難度級別為3,則前綴為"111",依此類推.我們將檢查生成的消息摘要中是否存在此前綴.為了消化消息本身,我們使用以下兩行代碼 :

for?i?in?range(1000):
???digest?=?sha256(str(hash(message))?+?str(i))

我們繼續(xù)添加一個新的數(shù)字 i 到每次迭代中的消息哈希并在組合消息上生成新摘要.由于 sha256 函數(shù)的輸入在每次迭代中都會發(fā)生變化,因此摘要值也會發(fā)生變化.我們檢查此摘要值是否高于前綴.

if digest.startswith(prefix):

如果條件滿足,我們將終止 for 循環(huán)并返回摘要給來電者的價值.

這里顯示的是整個我的代碼 :

def?mine(message,?difficulty=1):
???assert?difficulty?>=?1
???prefix?=?'1'?*?difficulty
???for?i?in?range(1000):
??????digest?=?sha256(str(hash(message))?+?str(i))
??????if?digest.startswith(prefix):
?????????print?("after?"?+?str(i)?+?"?iterations?found?nonce:?"+?digest)
??????return?digest

為了您的理解,我們添加了打印摘要的 print 語句值和在從函數(shù)返回之前滿足條件所需的迭代次數(shù).

測試挖掘函數(shù)

測試我們的迷你ng函數(shù),只需執(zhí)行以下語句 :

mine("test message",2)

當你運行上面的代碼時,你會看到類似于下面和下面的輸出;

after 138 iterations found nonce:

11008a740eb2fa6bf8d55baecda42a41993ca65ce66b2d3889477e6bfad1484c

請注意,生成的摘要以"11"開頭.如果將難度級別更改為3,則生成的摘要將以"111"開頭,當然,它可能需要更多次迭代.如您所見,具有更強處理能力的礦工將能夠更早地挖掘給定的消息.這就是礦工們?yōu)榱速嵢∈杖攵嗷ジ偁幍姆绞?

現(xiàn)在,我們準備為區(qū)塊鏈添加更多區(qū)塊.讓我們在下一章中學習這一點,更多關于Python區(qū)塊鏈Creating Miners的資料請關注腳本之家其它相關文章!

相關文章

  • win7上tensorflow2.2.0安裝成功 引用DLL load failed時找不到指定模塊 tensorflow has no attribute xxx 解決方法

    win7上tensorflow2.2.0安裝成功 引用DLL load failed時找不到指定模塊 tensorflo

    這篇文章主要介紹了win7上tensorflow2.2.0安裝成功 引用時DLL load failed找不到指定模塊 tensorflow has no attribute xxx 解決方法,需要的朋友可以參考下
    2020-05-05
  • haskell實現(xiàn)多線程服務器實例代碼

    haskell實現(xiàn)多線程服務器實例代碼

    這篇文章主要介紹了haskell實現(xiàn)的多線程服務器,大家參考使用吧
    2013-11-11
  • 詳解在Python中創(chuàng)建條形圖追趕動畫

    詳解在Python中創(chuàng)建條形圖追趕動畫

    動畫是使可視化更具吸引力和用戶吸引力的好方法。它幫助我們以有意義的方式展示數(shù)據(jù)可視化。Matplotlib是一個非常流行的數(shù)據(jù)可視化庫,通常用于數(shù)據(jù)的圖形表示以及使用內置函數(shù)的動畫。本文將用Matplotlib繪制條形圖追趕動畫,需要的可以參考一下
    2022-03-03
  • django中的圖片驗證碼功能

    django中的圖片驗證碼功能

    這篇文章主要介紹了django中的圖片驗證碼功能,需要的朋友可以參考下
    2019-09-09
  • 使用Python docx修改word關鍵詞顏色的操作

    使用Python docx修改word關鍵詞顏色的操作

    這篇文章主要介紹了使用Python docx修改word關鍵詞顏色的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python+Pygame實戰(zhàn)之詩詞填空游戲的實現(xiàn)

    Python+Pygame實戰(zhàn)之詩詞填空游戲的實現(xiàn)

    成語接龍大家都玩過,但詩詞填空大家玩過嗎?把成語接龍變成填空題。難度可上漲了不止一個檔次呢!本文就來用Python和Pygame實現(xiàn)詩詞填空游戲,需要的可以參考一下
    2022-12-12
  • Python中合并列表的5種方法代碼示例

    Python中合并列表的5種方法代碼示例

    在python列表操作中除了排序、刪除、添加、去重外,合并也是經(jīng)常需求的操作,下面這篇文章主要給大家介紹了關于Python中合并列表的5種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • Pandas 內置的十種畫圖方法

    Pandas 內置的十種畫圖方法

    這篇文章主要介紹了Pandas 內置的十種畫圖方法,Pandas是非常常見的數(shù)據(jù)分析工具,我們一般都會處理好處理數(shù)據(jù)然后使用searbon或matplotlib來進行繪制
    2022-09-09
  • Python比較兩個日期的兩種方法詳解

    Python比較兩個日期的兩種方法詳解

    我們使用Python處理日期/時間的時候,經(jīng)常會遇到各種各樣的問題。本文為大家總結了兩個Python比較兩個日期的方法,需要的可以參考一下
    2022-07-07
  • Windows系統(tǒng)中將Python添加到系統(tǒng)環(huán)境詳細圖文教程

    Windows系統(tǒng)中將Python添加到系統(tǒng)環(huán)境詳細圖文教程

    當在命令行使用python或pip指令時,可能會遇到pip不是內部命令的報錯,這通常是因為在安裝Python時未將其添加至系統(tǒng)環(huán)境變量,或者有多個Python環(huán)境導致路徑不一致,文中將解決辦法介紹的非常詳細,需要的朋友可以參考下
    2024-10-10

最新評論

保康县| 望城县| 烟台市| 北京市| 太保市| 台江县| 锡林郭勒盟| 海伦市| 乌苏市| 宜都市| 西畴县| 五河县| 咸丰县| 任丘市| 西青区| 台安县| 新巴尔虎左旗| 大渡口区| 科尔| 斗六市| 刚察县| 永寿县| 正安县| 册亨县| 淮滨县| 鲁山县| 鲁山县| 麻江县| 中西区| 仁寿县| 沧源| 布尔津县| 温泉县| 泰州市| 乌苏市| 河南省| 尼勒克县| 七台河市| 冷水江市| 嵊州市| 内江市|