确定谁运行 Corda 调度状态
Determine who runs a Corda schedule state
我正在实现一个 LinearState
,它也是 Cordapp 中的一个 SchedulableState
。当状态对象被创建并存储在他们的每个保险库中时,状态对象在 3 方之间共享和同意。但是,当预定的 activity 出现时,存储它的所有 3 个节点似乎都触发了下一个流程。
我如何 select 这些节点之一到 运行 流?
我在日程安排页面上看不到任何相关信息:https://docs.corda.net/event-scheduling.html
它更像是一种变通方法而不是解决方案:一种方法是检查您的 schedulableFlow,如果 Node 应该 运行 流程。您可以对应该 运行 节点的派对进行硬编码,比较它是否是同一方 运行 流,如果不是 return null。或者将信息放在 oracle 中并查询 oracle 以查看该节点是否具有 运行 所需流程的权限。
看看FixingRoleDecider
的定义。
当计划的 activity 发生时,FixingRoleDecider
流程开始。 FixingRoleDecider
然后使用 if
条件仅在正确的节点上启动流。
我正在实现一个 LinearState
,它也是 Cordapp 中的一个 SchedulableState
。当状态对象被创建并存储在他们的每个保险库中时,状态对象在 3 方之间共享和同意。但是,当预定的 activity 出现时,存储它的所有 3 个节点似乎都触发了下一个流程。
我如何 select 这些节点之一到 运行 流?
我在日程安排页面上看不到任何相关信息:https://docs.corda.net/event-scheduling.html
它更像是一种变通方法而不是解决方案:一种方法是检查您的 schedulableFlow,如果 Node 应该 运行 流程。您可以对应该 运行 节点的派对进行硬编码,比较它是否是同一方 运行 流,如果不是 return null。或者将信息放在 oracle 中并查询 oracle 以查看该节点是否具有 运行 所需流程的权限。
看看FixingRoleDecider
的定义。
当计划的 activity 发生时,FixingRoleDecider
流程开始。 FixingRoleDecider
然后使用 if
条件仅在正确的节点上启动流。