Hyperledger fabric 带Raft协议的Hyperledger结构:如何将事务打包到块中?

Hyperledger fabric 带Raft协议的Hyperledger结构:如何将事务打包到块中?,hyperledger-fabric,blockchain,hyperledger,raft,Hyperledger Fabric,Blockchain,Hyperledger,Raft,因此,我确实理解Raft协议的概念。 但在Hyperledger结构订购服务的用例中,我很难做到这一点 到目前为止我所理解的: 当对等方提议并认可事务时,应用程序将其转发给订购服务。 Raft Leader节点接收该事务并将其写入其日志,然后将其发送给跟随者节点,跟随者节点也会更新其日志 我不明白的是: 在何处以及如何创建块 是否所有节点都创建一个块并检查多数节点是否具有相同的块 我在某个地方读到一个blockcuter方法由Leader调用,然后将生成的块提交给本地Raft有限状态机(这是

因此,我确实理解Raft协议的概念。
但在Hyperledger结构订购服务的用例中,我很难做到这一点

到目前为止我所理解的:
当对等方提议并认可事务时,应用程序将其转发给订购服务。 Raft Leader节点接收该事务并将其写入其日志,然后将其发送给跟随者节点,跟随者节点也会更新其日志

我不明白的是:

  • 在何处以及如何创建块
  • 是否所有节点都创建一个块并检查多数节点是否具有相同的块

我在某个地方读到一个blockcuter方法由Leader调用,然后将生成的块提交给本地Raft有限状态机(这是什么?)。

对每个事务进行协商太浪费了。相反,Raft leader将多个事务聚合到一个批中,然后使用块切割器对象从该批中创建一个块


然后,筏主发起一轮协商一致,通过筏协议将区块复制给所有追随者。

啊,好的,我明白了,谢谢!只复制块而不是单个事务是很有意义的,如果应用程序没有从对等方获得验证答案,它可以很容易地再次发送这些事务。