最近我学习了一些关于Hyperledger Fabric和Hyperledger Caliper的知识。
最近一直在关注Hyperledger Caliper Fabric基准测试教程here,以了解更多关于它的信息。
它使用Fabric Samples网络作为示例,使用的示例链码是asset-transfer basic javascript。
例如,当运行caliper来创建1000个资产时。
在资产创建操作过程中,我偶尔会遇到初始化测试的错误,如下所示:
2021-05-05T21:28:58.344Z - error: [DiscoveryHandler]: compareProposalResponseResults[undefined] - read/writes result sets do not match index=1
2021-05-05T21:28:58.344Z - error: [Transaction]: Error: No valid responses from any peers. Errors:
peer=undefined, status=grpc, message=Peer endorsements do not match
2021.05.05-22:28:58.344 error [caliper] [connectors/v2/FabricGateway] Failed to perform submit transaction [CreateAsset] using arguments [0_231,blue,20,penguin,500], with error: Error: No valid responses from any peers. Errors:
peer=undefined, status=grpc, message=Peer endorsements do not match示例链码操作非常简单:
// CreateAsset issues a new asset to the world state with given details.
async CreateAsset(ctx, id, color, size, owner, appraisedValue) {
const asset = {
ID: id,
Color: color,
Size: size,
Owner: owner,
AppraisedValue: appraisedValue,
};
ctx.stub.putState(id, Buffer.from(JSON.stringify(asset)));
return JSON.stringify(asset);
}发生这样的错误有什么特殊的原因吗?即使是偶尔。
发布于 2021-05-06 12:29:06
caliper中的教程显式地检出fabric-samples中的特定标记。这是因为main分支中的链代码示例中存在一个错误,该错误不存在于特定的git提交中。这个bug导致了你所看到的问题,你实际上已经在你发布的代码片段中包含了这个bug。在链码中,它是这行
ctx.stub.putState(id, Buffer.from(JSON.stringify(asset)));这是不正确的。它应该是
await ctx.stub.putState(id, Buffer.from(JSON.stringify(asset)));https://stackoverflow.com/questions/67409324
复制相似问题