很多熟悉Python,并喜欢区块链技术的小伙伴会有用Python写一个微型区块链客户端的想法。
感谢很多前辈,写下了多篇博客供小白学习,并提供了源代码。
我在学习的过程中就是参照这篇博客进行的搭建:
https://learnblockchain.cn/2017/10/27/build_blockchain_by_python/
博主在其中分享了源代码,下载后可以直接运行,并提供了测试方法。对于Postman在测试中的应用,我想再做一些更详尽的说明,毕竟它是一款全英文的软件,对于像我这样不了解web架构的小白来说,上手还是有些难度的。
Part 1 postman 用户界面说明
在区块链的程序中,我们主要用了 GET 和 POST 两种指令类型,其中 GET 是请求数据,不需要添加发送的数据内容:
在使用 POST 指令时,需要添加发送的信息,进行交互,如下图所示:
Part 2 开辟多个端口模拟节点交互
在开篇提到的博客中,测试区块链的一致性问题时,需要通过把两个有不同链长的节点放入同一网络,进行数据同步,进而验证区块链的最长链原则。博主在测试方法处是这样描述的:
此前按照博客里的说明,一步一步进行测试,我的测试成果都是成功的。但到了这里,不是很理解什么叫做“在一台计算机的不同终端运行”。在原来测试的基础上,强行运行会得到如下的报错:
其实这里的报错不是因为缺少什么设置,不需要去更改什么证书设置。这个条指令是要把5000端口和5001端口的节点放入同一个区块链网络,它需要两个端口内都有客户端运行。如果我们只是运行了博客中所给的代码,那么只有在5000端口运行着区块链客户端,5001端口什么也没有,当然得不到回复。所以解决方案是,再新建一个Py文件,把原代码copy进去,并改为在5001端口默认运行。
改好以后,运行两个客户端,并在POSTMAN中进行 nodes/register 操作,运行就可以成功了!
试试看吧!
(我用的Python编辑器是 VScode 可以直接运行python程序)