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

首頁 > 專題 > 區塊鏈 > 正文

50行代碼創建一個區塊鏈

2020-02-25 19:26:34
字體:
來源:轉載
供稿:網友

  這是我在一個外文網站上看到的一篇博文,作者通過50行代碼寫出了區塊鏈的簡化版本.麻雀雖小,但是五臟俱全.我覺得通過實踐,這是了解區塊鏈的一個好的方式.于是我將代碼實現了下.并且通過這篇文章,說說我讀這個代碼的時候的思路.

  在這串代碼里我們主要使用了兩個庫.這兩個庫都是python里邊自帶的,一個是hashlib,這個庫里邊提供了主要的摘要算法.比如MD5和SHA等.另外一個庫是datatime模塊.這個模塊是python里提供時間日期的模塊.在區塊鏈里邊,每個區塊都需要儲存一個時間戳(也就是當前的時間)和一個索引.因此這個庫為我們提供了使用的工具.

  1:初始化函數

  首先我們定義區塊鏈的初始參數,我們這里因為是最基本的區塊鏈,這里只包含我們需要的幾個參數,但是這些參數是大部分區塊鏈所需要的.比如每個鏈的索引位置,時間數據以及哈希值.

1620

  2:加密函數

  區塊鏈說到底就是產生一堆數值讓大家去計算,看誰算的快,而計算的時候我們需要的一個算法就是在這個加密函數里產生.

  這里我們使用的是hashlib里邊的sha256加密,然后將其進行更新,為了確保整個區塊鏈的完整性,每個區塊都會有一個自我識別的散列。和比特幣一樣,每個塊的散列將是塊的索引,時間戳,數據和前一個塊散列的散列的加密散列.然后我們去使用hexdigest返回一個16進制的加密結果.

1620

  3:初始化函數

  這個創建一個起源塊,起始的鏈的數目是0,這個應該要注意一下.其他就是你想給定的參數,具體傳遞的參數參照函數1.

1620

  4:后續函數

  這個函數是為以后的區塊鏈產生做準備,這里邊的規則是可以我們認為給定的,所以我們現在看很多的山寨幣或者空氣幣光憑發行方的一口說法是不可信的,因為他們既做裁判有做莊家,一旦改變了規則,散戶被套牢的風險極大.

1620

  5:調用函數區塊鏈本身就是一個簡單的Python列表。列表的第一個元素是創世區塊。當然,我們需要添加后續的塊。由于這個例子是最小的區塊鏈,我們只會添加100個新區塊。我們可以用for循環來做到這一點。

  接下來無非就是調用上邊的參數,然后輸入你想要產生的塊鏈就可以.

1620

  6:運行結果

  這就是這個小程序所提供的一切。如果想要讓這個規模達到當今生產區塊鏈的規模,我們必須添加更多功能,如服務器層來追蹤多臺機器上鏈塊的變化,以及工作量驗證算法,以限制添加到給定的時間段。

  如果你想了解更多地關于區塊鏈的技術,可以查看原始比特幣白皮書。祝你好運!

1620

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会理县| 岱山县| 读书| 潼南县| 腾冲县| 额敏县| 弋阳县| 阜阳市| 铅山县| 宣城市| 六盘水市| 黔南| 泊头市| 北川| 民勤县| 阜新| 自治县| 盖州市| 达日县| 巴东县| 廊坊市| 宣城市| 定南县| 六盘水市| 土默特右旗| 漳平市| 杭州市| 玉山县| 呼玛县| 黄山市| 台前县| 遂川县| 高雄市| 杭锦后旗| 黄冈市| 兴安盟| 青岛市| 晴隆县| 阳原县| 土默特左旗| 平原县|