如何创建一个最小的区块链
这是我在一个外文网站上看到的一篇博文,作者通过50行代码写出了区块链的简化版本.麻雀虽小,但是五脏俱全.我觉得通过实践,这是了解区块链的一个好的方式.于是我将代码实现了下.并且通过这篇文章,说说我读这个代码的时候的思路.
在这串代码里我们主要使用了两个库.这两个库都是python里边自带的,一个是hashlib,这个库里边提供了主要的摘要算法.比如MD5和SHA等.另外一个库是datatime模块.这个模块是python里提供时间日期的模块.在区块链里边,每个区块都需要储存一个时间戳(也就是当前的时间)和一个索引.因此这个库为我们提供了使用的工具.
1:初始化函数
首先我们定义区块链的初始参数,我们这里因为是最基本的区块链,这里只包含我们需要的几个参数,但是这些参数是大部分区块链所需要的.比如每个链的索引位置,时间数据以及哈希值.
2:加