Hyperledger Fabric 提交交易和评估交易之间的区别

fam*_*ama 3 hyperledger hyperledger-fabric

我正在使用具有 2 个组织的超级账本结构网络,并且链码也安装在其工作的网络上。我在fabric Node js中遇到了submitTransaction和EvaluateTransaction。它们之间有什么区别,我观察到的是什么。

  • 当我启动contract.submittransaction时,即使我从链码调用查询方法,它也会创建新的块,并且链码查询方法没有放置状态

  • 如果我使用Contract.evaluateTransaction评估从结构节点到查询方法的事务,它不会创建任何事务。

dav*_*d_k 5

submitTransaction与VS的区别evaluateTransaction在于,submitTransaction将调用智能合约返回的提案结果提交给排序者并等待交易提交。这意味着提案结果将被排序并交付给同行进行验证并提交到区块链。

无论智能合约交易做什么,但一般模式是用于submitTransaction更改世界状态的交易以及evaluateTransaction仅查询世界状态(或查询关键历史记录)的交易。

然而,例如想要将世界状态的查询记录到分类账上是完全合理的,因此您可以使用submitTransaction不修改世界状态的智能合约函数来执行此操作。