Python 区块链 - 区块类

区块由不同数量的交易组成。为简单起见,在我们的例子中,我们假设区块由固定数量的交易组成,在本例中为三笔。由于区块需要存储这三笔交易的列表,我们将声明一个名为 verified_transactions 的实例变量,如下所示 −

self.verified_transactions = []

我们将此变量命名为 verified_transactions,以表明只有经过验证的有效交易才会添加到区块中。每个区块还保存前一个区块的哈希值,这样区块链就变得不可变了。

要存储前一个哈希,我们声明一个实例变量,如下所示 −

self.previous_block_hash = ""

最后,我们再声明一个名为Nonce的变量,用于存储矿工在挖矿过程中创建的随机数。

self.Nonce = ""

Block类的完整定义如下 −

class Block:
   def __init__(self):
      self.verified_transactions = []
      self.previous_block_hash = ""
      self.Nonce = ""

由于每个块都需要前一个块的哈希值,我们声明一个名为last_block_hash的全局变量,如下所示 −

last_block_hash = ""

现在让我们在区块链中创建第一个块。