Python Blockchain 简明教程
Python Blockchain - Creating Genesis Block
我们假设 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 交易添加到区块内维护的 verified_transactions 列表 −
block0.verified_transactions.append (t0)
此时,区块已完全初始化,并准备好被添加到我们的区块链。为此,我们将创建区块链。在将区块添加到区块链之前,我们将对区块进行哈希处理,并将它的值存储在先前声明的全局变量 last_block_hash 中。此值将由下一个挖掘者在其区块中使用。
我们使用以下两行代码对区块进行哈希处理并存储摘要值。
digest = hash (block0)
last_block_hash = digest
最后,我们创建一个区块链(参见下一章)。