30. 精简版PBFT使用(附代码)

之前写过一篇文章,大家尽量不要去改造共识算法,这个难度很高,尤其共识算法再与区块链底层平台结合,那真是压力山大。一个完整的PBFT拥有完善的状态机流转,除多轮次投票,还要考虑投票超时处理、View Change等,Primary节点更换等,节点异常退出及重连,网络包乱序、丢包处理等,复杂度很高。本节简单实现PBFT,根据开源SIMPLE_PBFT改造,无View Change逻辑,只实现多轮次投票逻辑,帮助大家理解学习PBFT原理,有技术实例的同学可根据本节附带的代码,进一步二次开发,例如增加PoS流程等。

1.该项目的原始代码是https://github.com/bigpicturelabs/simple_pbft.git,但无法满足使用需求,进而二次开发。

2.改进版本的代码下载,https://download.csdn.net/download/xjmtxwd24/85483624。下载完成后解压到本地。

3.本项目为golang语言编写,代码使用gomod进行依赖包管理,需要查看上面的教程https://blog.csdn.net/xjmtxwd24/article/details/123137068?spm=1001.2014.3001.5501,下载goland、golang以及配置国内代理(第1 2 3 步)

4.在simple_pbft目

猜你喜欢

转载自blog.csdn.net/xjmtxwd24/article/details/125017648