Hyperledger fabric 提交交易和评估交易之间的区别
Hyperledger fabric difference between submit transaction and evaluate transaction
我正在使用具有 2 个组织的超级分类帐结构网络,链码也安装在网络上,它正在工作。我在结构节点 js 中遇到了 submitTransaction 和 EvaluateTransaction。它们之间有什么区别,我观察者是什么。
当我从结构节点启动 contract.submittransaction submitTransaction 时,即使我调用来自链码的查询方法创建新块和链码查询方法没有 put-state
如果我使用 contract.evaluateTransaction 从结构节点到查询方法的评估事务不创建任何事务。
contract.submittransaction 对链码执行交易,这就是它创建新块的原因。而 contract.evaluateTransaction 只查询状态数据库,这就是为什么不创建新块的原因。
submitTransaction
与evaluateTransaction
的区别在于submitTransaction
将调用智能合约返回的proposal结果提交给orderer,等待交易commit .这意味着提案结果将被排序并交付给同行进行验证并提交到区块链。
与智能合约交易做什么无关,但一般模式是submitTransaction
用于改变世界状态的交易,evaluateTransaction
用于只查询世界状态的交易世界状态(或查询密钥历史记录)。
然而,例如,想要将对世界状态的查询记录到分类账上是完全合理的,因此您可以在不修改世界状态的智能合约功能上使用 submitTransaction
这个。
我正在使用具有 2 个组织的超级分类帐结构网络,链码也安装在网络上,它正在工作。我在结构节点 js 中遇到了 submitTransaction 和 EvaluateTransaction。它们之间有什么区别,我观察者是什么。
当我从结构节点启动 contract.submittransaction submitTransaction 时,即使我调用来自链码的查询方法创建新块和链码查询方法没有 put-state
如果我使用 contract.evaluateTransaction 从结构节点到查询方法的评估事务不创建任何事务。
contract.submittransaction 对链码执行交易,这就是它创建新块的原因。而 contract.evaluateTransaction 只查询状态数据库,这就是为什么不创建新块的原因。
submitTransaction
与evaluateTransaction
的区别在于submitTransaction
将调用智能合约返回的proposal结果提交给orderer,等待交易commit .这意味着提案结果将被排序并交付给同行进行验证并提交到区块链。
与智能合约交易做什么无关,但一般模式是submitTransaction
用于改变世界状态的交易,evaluateTransaction
用于只查询世界状态的交易世界状态(或查询密钥历史记录)。
然而,例如,想要将对世界状态的查询记录到分类账上是完全合理的,因此您可以在不修改世界状态的智能合约功能上使用 submitTransaction
这个。