- Python 区块链教程
- Python 区块链 - 首页
- Python 区块链 - 简介
- 区块链 - 开发客户端
- 区块链 - 客户端类
- 区块链 - 交易类
- 创建多个交易
- 区块链 - 区块类
- 区块链 - 创建创世区块
- 区块链 - 创建区块链
- 区块链 - 添加创世区块
- 区块链 - 创建矿工
- 区块链 - 添加区块
- 区块链 - 范围与结论
- Python 区块链资源
- Python 区块链 - 快速指南
- Python 区块链 - 资源
- Python 区块链 - 讨论
Python 创建区块链
区块链包含一个彼此链接的区块列表。为了存储整个列表,我们将创建一个名为 TPCoins 的列表变量 -
TPCoins = []
我们还将编写一个名为 dump_blockchain 的实用程序方法,用于转储整个区块链的内容。我们首先打印区块链的长度,以便知道当前区块链中存在多少个区块。
def dump_blockchain (self): print ("Number of blocks in the chain: " + str(len (self)))
请注意,随着时间的推移,区块链中的区块数量对于打印来说将异常高。因此,当您打印区块链的内容时,您可能需要决定要检查的范围。在下面的代码中,我们打印了整个区块链,因为我们不会在当前演示中添加太多区块。
要遍历链,我们设置如下所示的 for 循环 -
for x in range (len(TPCoins)): block_temp = TPCoins[x]
每个引用的区块都复制到一个名为 block_temp 的临时变量中。
我们将区块编号打印为每个区块的标题。请注意,数字将从零开始,第一个区块是编号为零的创世区块。
print ("block # " + str(x))
在每个区块中,我们都将三个交易的列表(创世区块除外)存储在一个名为 verified_transactions 的变量中。我们在 for 循环中迭代此列表,并为每个检索到的项目,调用 display_transaction 函数以显示交易详细信息。
for transaction in block_temp.verified_transactions: display_transaction (transaction)
整个函数定义如下所示 -
def dump_blockchain (self): print ("Number of blocks in the chain: " + str(len (self))) for x in range (len(TPCoins)): block_temp = TPCoins[x] print ("block # " + str(x)) for transaction in block_temp.verified_transactions: display_transaction (transaction) print ('--------------') print ('=====================================')
请注意,这里我们在代码中的适当位置插入了分隔符,以分隔区块及其内部的交易。
由于我们现在已经创建了一个用于存储区块的区块链,因此我们的下一个任务是创建区块并开始将其添加到区块链中。为此,我们将添加一个创世区块,您已在前面的步骤中创建了它。
广告