我遵循Fabric的ERC-1155 chaincode示例。当我运行BatchTransferFrom部件时。它有时会出现错误,有时会成功运行。我不明白为什么它有时会失败。在Fabric上调用链码函数时,此错误正常吗?
错误是:
Error: could not assemble transaction: ProposalResponsePayloads do not match - proposal response: version:1 response:<status:200 > payload: ...当我使用Fabric Node SDK API调用该命令时,它给出以下错误:
2021-08-30T09:59:41.794Z - error: [DiscoveryHandler]: compareProposalResponseResults[undefined] - read/writes result sets do not match index=1
2021-08-30T09:59:41.794Z - error: [Transaction]: Error: No valid responses from any peers. Errors:
peer=undefined, status=grpc, message=Peer endorsements do not match发布于 2021-09-13 06:56:35
执行交易时,交易中来自不同背书的所有响应必须匹配。
无论出于什么原因,这都不会发生在您的提案中。不同的对等点返回不同的响应。
我不知道具体的链码,但常见的原因是:
使用伪随机值的
发布于 2021-09-29 10:12:17
我找到了问题的原因。在Go中迭代映射不是确定性的,函数BatchTransferFrom使用映射。映射在不同的对等点中以不同的顺序迭代,因此,这会导致提案不同。
https://stackoverflow.com/questions/69145363
复制相似问题