如何在corda中执行事务回滚

如何在corda中执行事务回滚,corda,Corda,如何在corda中执行事务回滚。假设我有一个复杂的流,它包括两个流。我想回滚上一个事务,如果最后一个事务失败,我如何在corda中这样做?或者我需要重新设计我的复杂流,或者使我自己创建的先前状态无效?我有一个主流,我创建了子流,它创建了一个新状态(或更新了一些状态)。现在,假设由于某种原因,主流程失败,如何回滚由上一个子流程创建的事务?一旦事务经过公证,它就是最终事务,无法回滚。但是,根据事务契约的编写方式,可能会使用新创建的状态来再次创建旧状态 关于您的评论,除非其中一个节点永久离开网络,否则

如何在corda中执行事务回滚。假设我有一个复杂的流,它包括两个流。我想回滚上一个事务,如果最后一个事务失败,我如何在corda中这样做?或者我需要重新设计我的复杂流,或者使我自己创建的先前状态无效?我有一个主流,我创建了子流,它创建了一个新状态(或更新了一些状态)。现在,假设由于某种原因,主流程失败,如何回滚由上一个子流程创建的事务?

一旦事务经过公证,它就是最终事务,无法回滚。但是,根据事务契约的编写方式,可能会使用新创建的状态来再次创建旧状态


关于您的评论,除非其中一个节点永久离开网络,否则Corda中的广播不能“失败”。ACK用于确保始终收到节点之间的消息。

一旦事务经过公证,它就是最终的,不能回滚。但是,根据事务契约的编写方式,可能会使用新创建的状态来再次创建旧状态


关于您的评论,除非其中一个节点永久离开网络,否则Corda中的广播不能“失败”。ACK用于确保始终收到节点之间的消息。

能否提供有关该用例的更多详细信息?这将有助于确定答案。。假设我使用最终流创建了一个状态(在各自的参与者中进行公证和保险存储),那么它需要广播到创建新状态的所有节点。现在,如果广播失败(出于某种原因)。我不希望当前的状态有效。我现在是否手动使此状态无效(不确定如何),或者是否有方法在使用finalityFlow后回滚。能否提供有关此用例的更多详细信息?这将有助于确定答案。。假设我使用最终流创建了一个状态(在各自的参与者中进行公证和保险存储),那么它需要广播到创建新状态的所有节点。现在,如果广播失败(出于某种原因)。我不希望当前的状态有效。我现在是否手动使此状态无效(不确定如何),或者是否有方法在使用finalityFlow后回滚。我想我必须想出一个更好的方案。但谢谢你的澄清。一经公证,不得退回。在现实生活中,肯定会有这样一种情况:我们想要回滚。。。。例如,如果我有一个更新状态的流(假设将状态设置为processed)并创建另一个状态响应。既然我应该只调用finality flow一次,那么我需要在同一个流中创建两个单独的txbuilder来进行更新、创建并获取它们的签名转换?现在,一旦我知道了,我会打电话给FinalityFlow,让他们独立公证?这就是要走的路吗?如果这是我认为最终流也应该接受已签名事务列表的方式。我认为我必须想出一个更好的方案。但谢谢你的澄清。一经公证,不得退回。在现实生活中,肯定会有这样一种情况:我们想要回滚。。。。例如,如果我有一个更新状态的流(假设将状态设置为processed)并创建另一个状态响应。既然我应该只调用finality flow一次,那么我需要在同一个流中创建两个单独的txbuilder来进行更新、创建并获取它们的签名转换?现在,一旦我知道了,我会打电话给FinalityFlow,让他们独立公证?这就是要走的路吗?如果这是我认为最终流也应该接受已签名事务列表的方式。