记录Python3开发轻量级区块链的思路

由于业务需求,需要开发一个轻量级区块链。
这里主要记录设计的思路。这是一个开发的思路供大家借鉴,假设读者已经对区块链的基本模型有所了解。
先说服务端
首先,选用flask作为服务框架。注意app.run()不要放在主线程,否则会阻塞,无法进一步处理其他的事务。
在主线程中开启子线程,在子线程中运行flask。主线程启动倒计时程序,每隔一定时间打包区块并达成共识,打包区块达成共识的过程可以放在主线程也可以放在子线程,鉴于主线程与子线程通信易,子线程与主线程通信难,可以考虑redis数据库,或者直接在子进程的类中处理数据库和区块生成等。子线程的flask服务器接收其他节点或者钱包的request,并对钱包节点的转账request进行转发(转发过程注意去重,并最好再开一个线程)收到的转账请求,其他节点产生的区块放在缓存中,等待处理。至此一个基本的区块链服务框架就实现了。
整理成思维导图如下:
在这里插入图片描述
再说钱包:
钱包就简单了,转账信息提交至某一节点,由该节点进行转发至余下其他节点。接下来就是等待确认。钱包的设计不是重点,不展开讲。主要思路就是在转账时构造json,并访问服务节点,之后定时查询转账是否成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值