最新消息:

用Python从零开始创建区块链

Python 小编 235浏览

对数字货币的崛起感到新奇的我们,并且想知道其背后的技术——区块链是怎样实现的。

但是完全搞懂区块链并非易事,我喜欢在实践中学习,通过写代码来学习技术会掌握得更牢固。通过构建一个区块链可以加深对区块链的理解。

作者认为最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python来创建一个区块链。

准备工作
本文要求读者对Python有基本的理解,能读写基本的Python,并且需要对HTTP请求有基本的了解。

我们知道区块链是由区块的记录构成的不可变、有序的链结构,记录可以是交易、文件或任何你想要的数据,重要的是它们是通过哈希值(hashes)链接起来的。

如果你还不是很了解哈希,可以查看这篇文章

环境准备
环境准备,确保已经安装Python3.6+, pip , Flask, requests
安装方法:

1
pip install Flask==0.12.2 requests==2.18.4

同时还需要一个HTTP客户端,比如Postman,cURL或其它客户端。

参考源代码(原代码在我翻译的时候,无法运行,我fork了一份,修复了其中的错误,并添加了翻译,感谢star)

开始创建Blockchain
新建一个文件 blockchain.py,本文所有的代码都写在这一个文件中,可以随时参考源代码

Blockchain类
首先创建一个Blockchain类,在构造函数中创建了两个列表,一个用于储存区块链,一个用于储存交易。

以下是Blockchain类的框架:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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

Blockchain类用来管理链条,它能存储交易,加入新块等,下面我们来进一步完善这些方法。

更详细的教程请点击原文链接

文章来源:https://learnblockchain.cn/2017/10/27/build_blockchain_by_python/,主要内容翻译自Learn Blockchains by Building One

转载请注明:软飞精选 » 用Python从零开始创建区块链