亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python簡單區(qū)塊鏈模擬詳解

 更新時間:2019年07月03日 14:55:59   作者:charles_lun  
這篇文章主要介紹了python簡單區(qū)塊鏈模擬詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

最近學習了一點python,那就試著做一做簡單的編程練習。

首先是這個編程的指導(dǎo)圖,如下:

對的,類似一個簡單區(qū)塊鏈的模擬。

代碼如下:

class DaDaBlockCoin:

 #index 索引,timestamp 時間戳,data 交易記錄,self_hash交易hash,last_hash,上個hash
 def __init__(self,idex,timestamp,data,last_hash):
  self.idex = idex
  self.timestamp = timestamp
  self.data = data
  self.last_hash = last_hash
  self.self_hash=self.hash_DaDaBlockCoin()


 def hash_DaDaBlockCoin(self):
  sha = hashlib.md5()#加密算法,這里可以選擇sha256,sha512,為了打印方便,所以選了md5
  #對數(shù)據(jù)整體加密
  datastr = str(self.idex)+str(self.timestamp)+str(self.data)+str(self.last_hash)
  sha.update(datastr.encode("utf-8"))
  return sha.hexdigest()

def create_first_DaDaBlock(): # 創(chuàng)世區(qū)塊

 return DaDaBlockCoin(0, datetime.datetime.now(), "love dadacoin", "0")

# last_block,上一個區(qū)塊
def create_money_DadaBlock(last_block): # 其它塊
 this_idex = last_block.idex + 1 # 索引加1
 this_timestamp = datetime.datetime.now()
 this_data = "love dada" + str(this_idex) # 模擬交易數(shù)據(jù)
 this_hash = last_block.self_hash # 取得上一塊的hash
 return DaDaBlockCoin(this_idex, this_timestamp, this_data, this_hash)

DaDaBlockCoins = [create_first_DaDaBlock()] # 區(qū)塊鏈列表,只有一個創(chuàng)世區(qū)塊
nums = 10
head_block = DaDaBlockCoins[0]
print(head_block.idex, head_block.timestamp, head_block.self_hash, head_block.last_hash)
for i in range(nums):
 dadaBlock_add = create_money_DadaBlock(head_block) # 創(chuàng)建一個區(qū)塊鏈的節(jié)點
 DaDaBlockCoins.append(dadaBlock_add)
 head_block = dadaBlock_add
 print(dadaBlock_add.idex, dadaBlock_add.timestamp, dadaBlock_add.self_hash, dadaBlock_add.last_hash)

打印結(jié)果如下:

與開頭的指導(dǎo)思路完美契合,雖然只是很簡單的模擬。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中如何處理常見報錯

    Python中如何處理常見報錯

    大家好,本篇文章主要講的是Python中如何處理常見報錯,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • python matplotlib庫直方圖繪制詳解

    python matplotlib庫直方圖繪制詳解

    這篇文章主要介紹了python matplotlib庫直方圖繪制詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 一文教你徹底解決Python包下載慢問題

    一文教你徹底解決Python包下載慢問題

    在利用python中,我們經(jīng)常需要使用到各種各樣的庫。其中,pip是我們常用的安裝工具,一般情況下我們基本上是直接pip方法安裝第三方包,下面這篇文章主要給大家介紹了關(guān)于如何徹底解決Python包下載慢問題的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • python實現(xiàn)停車管理系統(tǒng)

    python實現(xiàn)停車管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python實現(xiàn)停車管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • window下eclipse安裝python插件教程

    window下eclipse安裝python插件教程

    這篇文章主要為大家詳細介紹了window下eclipse安裝python插件教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • wxPython實現(xiàn)整點報時

    wxPython實現(xiàn)整點報時

    這篇文章主要為大家詳細介紹了wxPython實現(xiàn)整點報時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python?Ruby?等語言棄用自增運算符原因剖析

    Python?Ruby?等語言棄用自增運算符原因剖析

    這篇文章主要為大家介紹了Python?Ruby?等語言棄用自增運算符原因剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)

    Python解析json之ValueError: Expecting property name enclosed in

    這篇文章主要給大家介紹了關(guān)于Python解析json報錯:ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)的解決方法,文中介紹的非常詳細,需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Python 面向?qū)ο缶幊痰娜筇匦灾^承

    Python 面向?qū)ο缶幊痰娜筇匦灾^承

    繼承也是面向?qū)ο缶幊倘筇匦灾?,本篇文章我們就來學習Python中繼承的用處、使用場景及用與不用的區(qū)別,感興趣的朋友一起來閱讀下面文章吧
    2021-09-09
  • Python中的3D繪圖命令總結(jié)

    Python中的3D繪圖命令總結(jié)

    很多情況下,為了能夠觀察到數(shù)據(jù)之間的內(nèi)部的關(guān)系,可以使用繪圖來更好的顯示規(guī)律。而Python的matplotlib庫中有很多三維圖表顯示的命令,本文為大家做了一個總結(jié),需要的可以參考一下
    2022-02-02

最新評論