transactions - contract.evaluateTransaction(fcn,args) 在查询背书节点时是否进行交易?
问题描述
我正在使用 hyperledger fabric 1.4,并面临一个问题,在使用节点 sdk await contract.evaluateTransaction(fcn,args) 进行查询时,我收到此错误:-
Errors: ["2 UNKNOWN: invalid txid. got [00ce5ece85f645e6781515b10c9325e4f6fa743bb49042c940900db4359a42d1], expected [66e0e0c782c4a17b5815255ce5685ceb088f0dd47639950c2462144318197004]"], stack=FabricError
我只是很困惑它会创建一个新的交易吗?我在这里读到https://fabric-sdk-node.github.io/release-1.4/module-fabric-network.Contract.html#evaluateTransaction__anchor请看一下,因为我不清楚。
解决方案
evaluateTransaction 和 submitTransaction 之间的区别在于 submitTransaction 将请求发送到适当的对等点(如果使用服务发现,则适当地基于背书策略,或者如果不使用服务发现,则基于通道中的所有对等点)并收集它收到的事务提案响应从请求到对等点并将这些请求提交给订购者以进行排序并发送给对等点进行验证并提交给区块链。
EvaluateTransaction 将向单个适当的对等点(即来自您组织的对等点)发送请求,并且不向排序者发送任何内容,而只是将响应返回给进行调用的应用程序。您通常使用评估事务来执行查询类型的请求。
查看错误消息,当您调用 evaluateTransaction 时,您似乎使用了不正确的事务 ID。除非您真的知道自己在做什么,否则最好让 evaluateTransaction 代表您为您生成交易 ID。
推荐阅读
- javascript - 使用 FormData 上传单个文件
- mysql - sql查询where子句中的参数
- python-3.x - 我是一个绝对初学者的 Python 编码器
- python - 如何删除 Python Tkinter 中的打印文本?
- aws-codebuild - 带有 S3 源的 AWS CodeBuild:调用 startBuild 时出错:S3 文件夹源位置的源版本应为空
- javascript - 如何在我的网页上每 15 秒打开一次神奇的弹出窗口
- python - Scrapy Installation (Microsoft Visual C++ 14.0 is required)
- android - 无法在 API 级别 29 的 wordpress 应用程序的 webview 中完全加载 wordpress 帖子内容。但它在 API 级别 26 上运行良好
- javascript - TypeError: _this.props.editAp 不是函数
- azure - Export-AzureRmAutomationDscConfiguration 无法反序列化响应