将事务发送到具有3个对等方的集群

时间:2018-11-19 15:34:37

标签: java hyperledger-fabric hyperledger

我正在尝试将现有的单一订购者,单一对等超级账本结构系统扩展到2个订单和3个对等实体。我设法添加了一个新订单,以便即使其中一位订购者已下订单,系统也能正常工作。

现在我正在尝试与同行进行相同的操作,但是当其中一个同行失败时,我很难在区块链上保存新记录。

保存时,我正在使用Java SDK将交易建议发送给所有三个对等方-我收到2个成功案例,而一个失败ProposalResponse-我要过滤掉失败的案例并将成功案例的集合发送给org.hyperledger.fabric.sdk.Channel#sendTransaction(java.util.Collection<org.hyperledger.fabric.sdk.ProposalResponse>)

该方法返回CompletableFuture<TransactionEvent>,我正在使用whenComplete进行订阅。我注意到,当其中一个对等设备关闭时,future不会完成,除非离线对等设备再次可用。

系统是如何设计的?我希望即使只有一个同位体可用,结构和SDK也会完成一项任务,然后让同位体联机时进行自我更新。有什么方法可以实现这样的行为?

谢谢!

编辑: 我已经意识到我正在使用sendTransaction和默认的交易选项,这些选项将所有对等体添加为事件对等体,因此除非他们所有人都接收到事件,否则该交易无法完成。

0 个答案:

没有答案