contract.evaluateTransaction(fcn,args)是否在对支持对等项的查询期间进行交易?

时间:2019-07-02 13:31:12

标签: transactions hyperledger-fabric hyperledger peer hyperledger-chaincode

我正在使用超级账本结构1.4,并且遇到一个问题,同时使用节点sdk等待合同查询。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阅读过该书,因为我不清楚。

1 个答案:

答案 0 :(得分:2)

valuateTransaction和submitTransaction之间的区别在于,submitTransaction将请求发送到适当的对等方(如果使用服务发现,则基于签发策略,或者如果不使用服务发现,则基于通道中的所有对等端),并收集交易建议响应它从请求中接收回对等端,并将这些请求提交给订购者以进行订购,然后发送给对等端进行验证并提交给区块链。

EvaluateTransaction将向单个适当的对等方(即您组织中的一个对等方)发送请求,并且不向订购者发送任何内容,而只是将响应返回给进行调用的应用程序。您通常使用评估事务来执行请求的查询类型。

查看错误消息,当您调用EvaluationTransaction时,似乎您使用的是错误的事务ID。除非您真的知道自己在做什么,否则最好让EvaluationTransaction代表您生成交易ID。