Hyperledger fabric 异常是否恢复hyperledger结构中的交易记录?

Hyperledger fabric 异常是否恢复hyperledger结构中的交易记录?,hyperledger-fabric,Hyperledger Fabric,在Hyperledger Fabric中,如果一个事务修改了多个资产,然后启动一个异常,则资产将保持修改状态或其状态恢复为事务之前的状态?这取决于事务被拒绝的阶段 如果链码在验证时失败,则不会将其记录在分类账中,因为交易尚未发送到订购服务。链码上的异常是最常见的异常,您执行智能合约,然后由于不确定的原因或错误,它在某些对等方上失败 在检查所有客户的响应后,如果一切正常,则可以将其发送到订购服务。订购服务不接受发送的交易,该交易仍将写入分类账,但视为无效 如果您想深入了解它,将在中详细解释事务流。

在Hyperledger Fabric中,如果一个事务修改了多个资产,然后启动一个异常,则资产将保持修改状态或其状态恢复为事务之前的状态?

这取决于事务被拒绝的阶段

如果链码在验证时失败,则不会将其记录在分类账中,因为交易尚未发送到订购服务。链码上的异常是最常见的异常,您执行智能合约,然后由于不确定的原因或错误,它在某些对等方上失败

在检查所有客户的响应后,如果一切正常,则可以将其发送到订购服务。订购服务不接受发送的交易,该交易仍将写入分类账,但视为无效


如果您想深入了解它,将在中详细解释事务流。

我在文档中看不清楚的一件事是,异常是否使事务无效。假设没有,那么如果所有契约都具有相同的行为,并且契约是例如:
…stub.updateState(“a”,something1);抛出新异常()。这里发生了什么?请记住,如果在验证时抛出异常,则不会与订购方联系。如果链码执行失败,应用程序(您的SDK)将收到一个错误,它将无法继续执行事务。我没有从客户端找到关于事务确切流程的文档,但我们可以通过查看源代码轻松了解SDK中的情况,例如。