Python 区块链 - 创建创世块



我们假设 TPCoins 的发起人最初向已知客户 Dinesh发放了 500 个 TPCoins。因此,他首先创建了 Dinesh 实例−

Dinesh = Client()

然后,我们创建一个创世交易并向 Dinesh 的公共地址发送 500 个 TPCoins。

t0 = Transaction (
   "Genesis",
   Dinesh.identity,
   500.0
)

现在,我们创建一个 Block 类的实例并将其命名为 block0

block0 = Block()

我们初始化 previous_block_hashNonce 实例变量为 None,因为这是我们区块链中要存储的第一个交易。

block0.previous_block_hash = None
Nonce = None

接下来,我们将上述 t0 交易添加到块中维护的 verified_transactions 列表中−

block0.verified_transactions.append (t0)

此时,块已经完全初始化并准备添加到我们的区块链中。为此,我们将创建区块链。在将块添加到区块链之前,我们将对块进行哈希处理并将其值存储在我们之前声明的名为 last_block_hash 的全局变量中。此值将由下一个矿工在其块中使用。

我们使用以下两行代码对块进行哈希处理和存储摘要值。

digest = hash (block0)
last_block_hash = digest

最后,我们创建一个区块链,如我们在下一章中看到的那样。

广告