📜  Python区块链-创建创世纪块

📅  最后修改于: 2020-11-08 08:26:29             🧑  作者: Mango


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

Dinesh = Client()

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

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

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

block0 = Block()

我们将previous_block_hashNonce实例变量初始化为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

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