Skip to content

Latest commit

 

History

History
48 lines (31 loc) · 1.72 KB

consensus.md

File metadata and controls

48 lines (31 loc) · 1.72 KB

JD Chain抽象了共识协议接口,共识算法可插拔。

已实现MQRaftBFT-SMaRt三种共识算法。

MQ

已实现基于RabbitMQActiveMQ ClassicJD Chain 1.6.5版本新增)方案

MQ实现在1.6.41.6.5中实现有变化,MQ服务地址URI不同,请参照对应版本文档操作示例

RabbitMQ实现仅支持第一个节点提议区块,ActiveMQ支持所有参与节点提议区块。

初始化使用mq.config,配置MQ服务及交易、区块等消息队列。

ledger.init中设置:

consensus.service-provider=com.jd.blockchain.consensus.raft.MQConsensusProvider
consensus.conf=.../mq.config

参照初始化基于RabbitMQ的测试网络

Raft

JD Chain 基于SOFAJRaft集成Raft共识,感谢优秀的SOFAJRaft

初始化使用raft.config,配置共识节点拓扑、SOFAJRaft运行参数等。

ledger.init中设置:

consensus.service-provider=com.jd.blockchain.consensus.raft.RaftConsensusProvider
consensus.conf=.../raft.config

参照初始化基于Raft的测试网络

BFT-SMaRt

JD Chain 基于BFT-SMaRT深度改造优化,形成了具有高度代码差异的fork版本JD Chain BFT-SMaRt,感谢BFT-SMaRT团队。

初始化使用bftsmart.config,配置共识节点拓扑、BFT-SMaRT运行参数等。

ledger.init中设置:

consensus.service-provider=com.jd.blockchain.consensus.raft.BftsmartConsensusProvider
consensus.conf=.../bftsmart.config

参照初始化基于BFT-SMaRt的测试网络