国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

python簡單區塊鏈模擬詳解

2024-09-09 19:02:40
字體:
來源:轉載
供稿:網友

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

首先是這個編程的指導圖,如下:

對的,類似一個簡單區塊鏈的模擬。

代碼如下:

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  #對數據整體加密  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(): # 創世區塊 return DaDaBlockCoin(0, datetime.datetime.now(), "love dadacoin", "0")# last_block,上一個區塊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) # 模擬交易數據 this_hash = last_block.self_hash # 取得上一塊的hash return DaDaBlockCoin(this_idex, this_timestamp, this_data, this_hash)DaDaBlockCoins = [create_first_DaDaBlock()] # 區塊鏈列表,只有一個創世區塊nums = 10head_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) # 創建一個區塊鏈的節點 DaDaBlockCoins.append(dadaBlock_add) head_block = dadaBlock_add print(dadaBlock_add.idex, dadaBlock_add.timestamp, dadaBlock_add.self_hash, dadaBlock_add.last_hash)

打印結果如下:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿巴嘎旗| 攀枝花市| 资溪县| 台南县| 密云县| 玉环县| 禹州市| 莎车县| 靖西县| 东阳市| 龙陵县| 剑阁县| 保山市| 彭阳县| 特克斯县| 屏东县| 犍为县| 武汉市| 莲花县| 若尔盖县| 盘锦市| 新郑市| 左权县| 镇坪县| 蚌埠市| 新泰市| 咸阳市| 庆安县| 商丘市| 石棉县| 双江| 崇礼县| 高邑县| 蓬溪县| 兴化市| 岚皋县| 静宁县| 依兰县| 宜良县| 五大连池市| 永春县|