Python区块链 创建区块链

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 的临时变量中

我们打印块的编号作为每个块的标题。注意,这些数字将从0开始,第一个块是创世块,其编号为0。

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 ('=====================================')

注意,这里我们在代码中的适当位置插入了分隔符,以划分其中的区块和交易。

由于我们现在已经创建了一个用于存储区块的区块链,我们的下一个任务是创建区块并开始将其添加到区块链上。为此,我们将添加一个你在前面步骤中已经创建的创世区块。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程