欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

fabric的原子广播

程序员文章站 2022-07-14 15:58:36
...

属于orderer模块的内容

提供两个服务Broadcast 和 Deliver

以下是proto的部分定义(fabric\protos\orderer\ab.proto)

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) {}
}

  • Broadcast :接收来自客户端已经收集好的背书结果,进行排序,共识等过程写入区块。
    Broadcast 请求消息包括链码的实例化、调用;通道的创建、更新。
  • Deliver:peer从orderer获取block的过程。请求是一个类别是DELIVER_SEEK_INFO ,内容是json的(应该是指json.Marshal),会返回一个或者多个块信息。

这两个服务都是peer与orderer之间的

fabric源码解析23——Orderer服务

相关标签: fabric