如何解决无法在Hyperledger Fabric上执行事务以准备列表并执行平均
我已经尝试准备一个网络(每个组织2个组织,每个组织2个对等方),其中使用网关从不同来源提交交易。网关将交易提交到Fabric区块链。可以使用网关执行以下操作。
- 提交值
- 计算平均值
以持续的速度(每秒约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 举报,一经查实,本站将立刻删除。