手把手教你搭建区块链(上)手把手教你搭建区块链(上)
“学习区块链的最快方法就是自己亲手搭建一个”
如果您已经掌握了一些基础的python知识,那么跟着本文搭建区块链对您来说将不是一件难事儿。
在开始之前,有一些概念需要您先明确:
区块链是一个不变的顺序记录链,称为块。它们可以包含事务,文件或任何您想要记录的数据。您只需记住,它们使用哈希值链接在一
起。
哈希函数就是一个简单的函数,它接受输入值,并根据该输入创建确定输入值的输出值。对于任何x输入值,只要运行哈希函数,您将始
终收到相同的y输出值。这样,每个输入都有一个确定的输出。哈希函数通常是不可逆的(单向),这意味着仅知道输出就无法弄清楚输
入-除非尝试所有可能的输入(也称为暴力破解)。
掌握了区块,哈希等基本概念之后,您还需要为搭建区块链做一些环境准备工作:请您确保您的电脑已安装 Python 3.6以上(以及pip)、
Flask和Requests库。
pip install Flask0.12.2 requests2.18.4
Step 1 :搭建区块链
打开你最喜欢的文本编辑器或IDE,推荐使用PyCharm;创建一个新文件,名为blockchain.py
创建一个Blockchain类,创建两个初始的空列表作为构造函数,一个用于存储我们的区块链,另一个用于存储交易。
class Blockchain(object):
def init(self):
self.chain = [] self.current_transactions = []
def new_block(self):
# Creates a new Block and adds it to the chain
pass
def new_transaction(self):
# Adds a new transaction to the list of transactions
pass
@staticmethod
def hash(block):
# Hashes a Block
pass
@property
def last_block(self):
# Returns the last Block in the chain
pass
这个区块链类负责管理链。,它存储事务,并具有一些用于将新块添加到链中的辅助方法。
”Block到底长什么样?“
每个Block都有一个索引index,一个时间戳timestamp(以Unix时间表示),一个事务列表,一个proof证明(稍后会有更多介绍)以及前
评论0