Python 建立區塊鏈



區塊鏈包含一個彼此連結的區塊列表。為了儲存整個列表,我們將建立一個名為 TPCoins 的列表變數 -

TPCoins = []

我們還將編寫一個名為 dump_blockchain 的實用程式方法,用於轉儲整個區塊鏈的內容。我們首先列印區塊鏈的長度,以便知道當前區塊鏈中存在多少個區塊。

def dump_blockchain (self):
   print ("Number of blocks in the chain: " + str(len (self)))

請注意,隨著時間的推移,區塊鏈中的區塊數量對於列印來說將異常高。因此,當您列印區塊鏈的內容時,您可能需要決定要檢查的範圍。在下面的程式碼中,我們列印了整個區塊鏈,因為我們不會在當前演示中新增太多區塊。

要遍歷鏈,我們設定如下所示的 for 迴圈 -

for x in range (len(TPCoins)):
   block_temp = TPCoins[x] 

每個引用的區塊都複製到一個名為 block_temp 的臨時變數中。

我們將區塊編號列印為每個區塊的標題。請注意,數字將從零開始,第一個區塊是編號為零的創世區塊。

print ("block # " + str(x))

在每個區塊中,我們都將三個交易的列表(創世區塊除外)儲存在一個名為 verified_transactions 的變數中。我們在 for 迴圈中迭代此列表,併為每個檢索到的專案,呼叫 display_transaction 函式以顯示交易詳細資訊。

for transaction in block_temp.verified_transactions:
   display_transaction (transaction)

整個函式定義如下所示 -

def dump_blockchain (self):
   print ("Number of blocks in the chain: " + str(len (self)))
   for x in range (len(TPCoins)):
      block_temp = TPCoins[x]
      print ("block # " + str(x))
      for transaction in block_temp.verified_transactions:
         display_transaction (transaction)
         print ('--------------')
      print ('=====================================')

請注意,這裡我們在程式碼中的適當位置插入了分隔符,以分隔區塊及其內部的交易。

由於我們現在已經建立了一個用於儲存區塊的區塊鏈,因此我們的下一個任務是建立區塊並開始將其新增到區塊鏈中。為此,我們將新增一個創世區塊,您已在前面的步驟中建立了它。

廣告

© . All rights reserved.