Python 区块链 - 创建创世块
我们假设 TPCoins 的发起者最初向已知客户Dinesh赠送 500 TPCoins 。为此,他首先创建一个 Dinesh 实例 -
Dinesh = Client()
然后我们创建一个创世交易并将 500 TPCoins 发送到 Dinesh 的公共地址。
t0 = Transaction ( "Genesis", Dinesh.identity, 500.0 )
现在,我们创建Block类的一个实例并将其命名为block0。
block0 = Block()
我们将previous_block_hash和Nonce实例变量初始化为None,因为这是存储在区块链中的第一个交易。
block0.previous_block_hash = None Nonce = None
接下来,我们将上面的 t0 交易添加到块内维护的verify_transactions列表中 -
block0.verified_transactions.append (t0)
此时,该块已完全初始化并准备好添加到我们的区块链中。我们将为此目的创建区块链。在将块添加到区块链之前,我们将对块进行哈希处理并将其值存储在我们之前声明的名为last_block_hash的全局变量中。该值将被其区块中的下一个矿工使用。
我们使用以下两行代码来对块进行哈希处理并存储摘要值。
digest = hash (block0) last_block_hash = digest
最后,我们创建一个区块链,正如我们在下一章中看到的那样。