如何从一个节点触发可编码流但由另一个节点执行

时间:2018-07-26 04:52:37

标签: corda

我指的是链接Implementing schedulable states in corda

在我的用例中:有3个参与方,甲方,乙方和中央党。 甲方将与中央党建立交易状态,乙方也将与中央党建立交易状态。

所以现在中央党将有两个交易状态。

每当交易状态进入中央交易方时,它都必须检查某些条件然后自动创建交易。交易流的创建应从中央交易方触发,但不能由交易方执行。

我可以通过预定状态实现它吗?

1 个答案:

答案 0 :(得分:1)

SchedulableState关联的调度流将由存储状态的每一方执行。因此它将由甲方/乙方由中央党执行。

如果您不是中央党,则需要在计划流程的开头放置一些逻辑来中止。像这样:

@InitiatingFlow
@SchedulableFlow
class ScheduledFlow(private val stateRef: StateRef) : FlowLogic<Unit>() {
    @Suspendable
    override fun call() {
        if (ourIdentity.name.organisation != "Central Party") {
            return
        }

        // TODO("Further flow logic")
    }
}