Hyperledger fabric 在Hyperledger结构中,客户机是将事务发送到所有订单还是仅发送到一个订购者节点?
当客户订购一笔交易时,他是将其发送给PBFT中的所有订购者,还是只发送给一个/几个订购者 答案是:视情况而定 在Fabric中,一致性机制是可插拔的,因此,只要实现gRPC API,任何人都可以实现自己的订购服务:Hyperledger fabric 在Hyperledger结构中,客户机是将事务发送到所有订单还是仅发送到一个订购者节点?,hyperledger-fabric,blockchain,consensus,Hyperledger Fabric,Blockchain,Consensus,当客户订购一笔交易时,他是将其发送给PBFT中的所有订购者,还是只发送给一个/几个订购者 答案是:视情况而定 在Fabric中,一致性机制是可插拔的,因此,只要实现gRPC API,任何人都可以实现自己的订购服务: service AtomicBroadcast { // broadcast receives a reply of Acknowledgement for each common.Envelope in order, indicating success or type o
service AtomicBroadcast {
// broadcast receives a reply of Acknowledgement for each common.Envelope in order, indicating success or type of failure
rpc Broadcast(stream common.Envelope) returns (stream BroadcastResponse) {}
// deliver first requires an Envelope of type DELIVER_SEEK_INFO with Payload data as a mashaled SeekInfo message, then a stream of block replies is received.
rpc Deliver(stream common.Envelope) returns (stream DeliverResponse) {}
}
如果共识服务是CFT类型,如Kafka或Raft,那么客户机只需要向单个订购者发送事务
但是,Hyperledger结构存在拜占庭式容错一致性服务,在这些实现中,客户机无法假设所选订购方将诚实地包含其事务,因此需要像PBFT文件中那样将请求发送到所有节点
当Fabric将有一个正式的BFT订购者时,需要对客户端进行适当的配置 谢谢你的回答。我正在尝试为fabric实现一个版本的BFT。你能为我提供指导和资源吗。谢谢看我答案中的链接