无法在Hyperledger Fabric上执行事务以准备列表并执行平均

问题描述

我已经尝试准备一个网络(每个组织2个组织,每个组织2个对等方),其中使用网关从不同来源提交交易。网关将交易提交到Fabric区块链。可以使用网关执行以下操作。

  1. 提交值
  2. 计算平均值

以持续的速度(每秒约100个事务)来提交值。 每分钟之后,将启动来自网关的事务以计算平均值。它检索直到当前时间(由网关提供)的交易,并使用值和先前的平均值准备平均值。

在进行平均计算时,我遇到了一个问题。

该交易无法进行平均计算。

java.lang.IllegalArgumentException: The proposal responses have 2 inconsistent groups with 0 that are invalid. Expected all to be consistent and none to be invalid.
    at org.hyperledger.fabric.sdk.Channel.doSendTransaction(Channel.java:5583)
    at org.hyperledger.fabric.sdk.Channel.sendTransaction(Channel.java:5542)
    at org.hyperledger.fabric.gateway.impl.TransactionImpl.commitTransaction(TransactionImpl.java:150)
    at org.hyperledger.fabric.gateway.impl.TransactionImpl.submit(TransactionImpl.java:110)
    at org.hyperledger.fabric.gateway.impl.ContractImpl.submitTransaction(ContractImpl.java:50)

我检查后发现,根据区块高度和时间,两个认可同伴不同步。因此,两个对等方在背书期间会检索两个不同的值列表,因为一个对等方同时拥有(假定)5000个块,而另一个对等方同时拥有(假定)5013个块。

As an example 
Organization 1 peer : retrieves 800 values
Organization 2 peer : retrieves 813 values

如何确保所有对等端在特定时间同步,或如何确保不同对等端的列表相同。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...