python 区块链学习(一) 单链结构实现

最近在纠结以后的研究方向,就先看了看云链。即一种云计算+区块链+物联网设备的架构模式。虽然还是雨里雾里,还是决定先把区块链的编程落实一下。

python 区块链学习(二)

python 区块链学习(三)

0x00 系统环境

本次使用的为Python3.6.5 需要用到的库包括hashlib,flask(0.12.2),time

0x01 区块链结构

这个部分看了一些的资料,慢慢理清了结构。所谓区块链就是一条链(chain),在python里用一个很长的链表list表示。列表里每一项分别为一个交易记录(transactions)。而每个交易记录里又包括这个交易的各种信息:交易的标号(index),交易创建的时间(timestamp),交易内容(transactions),工作证明/挖矿(proof),前一个块的哈希值(previous_hash)。再其中,交易内容又包括:接收者(recepient),发送者(sender),交易金额(amount)。这样看起来太复杂了,用一个图来呈现一下吧。

0x02 区块链逻辑

 整个区块链根据结构可以大致分为几个模块:

1.区块链的初始化     2.新块(block)的建立      3.新交易的建立(transactions)   4.工作证明算法

①  首先是区块链的建立,之前介绍了区块链在python中就是一个很长的列表,其中存放了一个一个的节点(block)。

初始化区块链很简单,就是申请一个新的列表。

class Blockchain(object):

    def __init__(self):
        self.chain = []

②  有了链以后我们就可以添加节点(block&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值