##前言: 最近我在做一个Blockchain项目。因此,需要搭建一个简易的python的blockchain环境。如果您和我一样是一个python和blockchain的小白,那我相信这个栏目会对我们都很有帮助。
##参考文献:
### https://learnku.com/python/t/22970/build-your-own-block-chain-step-by-step-with-python
### 英文原版:https://hackernoon.com/learn-blockchains-by-building-one-117428612f46
##1. 软件环境
### Python 3.6+
### pip
### Pycharm (python IDE)
### Postman (API测试的platform)
### Flask、Requests库 (可以在Pycharm中安装)
##2. Blockchain的调试(单个节点)
### 在Pycharm打开项目,依照提示引入requests和flask库。然后,点击右上方的run进行调试。当下方出现以下提示时,说明程序顺利运行。
### 打开postman,在状态栏中输入以GET的 http://127.0.0.1:5000/mine进行挖矿,并产生新block。
### 然后,我们以POST的http://127.0.0.1:5000/trasactions/new 方式加入新的交易数据。注意,这里我们需要在postman中 写入header和body的内容。
--- 代码如下:
{ "sender": "d4ee26eee15148ee92c6cd394edd974e", "recipient": "someone-other-address", "amount": 5 }
--- 结果如下:
### 在连续挖矿几次后,我们可以通过GET的http://127.0.0.1:5000/chain ,查看当前的区块链。
##3. Blockchain的调试(多个节点)
### 如我们所知,blockchain是由多个nodes共同维护,共同填写的。因此,我们需要还原多个nodes的环境。
### 这里,我们在同一个pycharm项目上多开一个进程,并将他的端口号改为5001。同时,为了方便起见,我们也同时多开一个postman。
--- 此时,新的node (5001)的block chain只有一个block
### 两边的postman互相把对方加入自己的node list,通过post的 http://127.0.0.1:5000/nodes/register(http://127.0.0.1:5001/nodes/register)。
### 两边的postman互相同步对方的block chain。注意,这里区块链以长的那方为准。通过post的http://127.0.0.1:5000/nodes/resolve (http://127.0.0.1:5001/nodes/resolve)。这里,便完成了一个blockchain由的全部基本过程。