gpt4 book ai didi

corda - 是否可以挂起流程以便可以通过 RPC 调用恢复流程?

转载 作者:行者123 更新时间:2023-12-01 09:05:08 25 4
gpt4 key购买 nike

我正在尝试在 Corda 中实现以下用例:FlowA 已通过 startFlowDynamic 在 PartyA 上调用。 FlowA 创建一个部分签名的交易并通过 sendAndReceive 在 PartyB 上调用 FlowB。人类用户现在应审查并手动批准此交易。理想情况下,FlowB 应该在收到交易后暂停。我希望能够通过 RPC 查询 FlowB 的暂停实例,并在我的 UI 中将这些实例(或者更确切地说是其中事务的某种表示)呈现给用户。然后,在用户执行他的批准后,我想通过 RPC 恢复 FlowB,然后它会签署交易并将其返回给 PartyA 上的 FlowA。

我注意到我可以通过 CordaRPCOps.stateMachineAndUpdates 在某种程度上检查暂停的流程,并且我阅读了有关进度跟踪的教程,但这对我的情况来说还不够。我还了解到与流中的人进行交互被列为 future 的功能,我只是想知道是否已经有某种方法可以实现这一点?

最佳答案

请参阅 Negotiation Cordapp 示例,了解这在实践中如何运作的示例 here .

Corda 目前不支持暂停用户交互的流程。

但是,您可以按如下方式支持这种工作流程。假设您正在为贷款申请编写一个 CorDapp。您可以有一个初始流程,同意在两方之间创建 loanApplication 状态。从那里,批准者可以检查贷款申请,或者启动创建交易的 approve 流程,将 loanApplication 转换为 approvedLoan状态,或者启动一个 reject 流来使用 loanApplication 状态而不发出一个 approvedLoan 状态。

同样,您可以向loan 状态添加状态字段,指定loan 是否已获批准。最初,loan 状态会将字段设置为 unapproved。然后批准者可以启动两个流程之一来更新 loan 状态,以具有 approvedrejected 状态。

关于corda - 是否可以挂起流程以便可以通过 RPC 调用恢复流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com