Python区块链 创建创世区块


我们假设 TPCoins 的发起者最初将 500 个 TPCoins 分发给一个已知的客户 Dinesh .为此,他首先创建了一个 Dinesh 实例:

Dinesh = Client()

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

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

现在,我们创建一个实例 Block 上课并打电话给它 block0 .

block0 = Block()

我们初始化 previous_block_hash and Nonce 实例变量 None ,因为这是存储在我们区块链中的第一笔交易。

block0.previous_block_hash = None
Nonce = None

接下来,我们将上面的 t0 交易添加到 验证交易 区块内维护的列表:

block0.verified_transactions.append (t0)

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

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

digest = hash (block0)
last_block_hash = digest

最后,我们将创建一个区块链,我们将在下一章中看到。