如何从一个节点触发 corda 可调度流,但由另一个节点执行
How to trigger a corda Scedulable flow from one node but to be executed by another node
我指的是 link Implementing schedulable states in corda
在我的用例中:有 3 方,甲方、乙方和中央方。
同理,甲方会与中央党建立交易状态,乙方也会与中央党建立交易状态。
所以现在中央党会有两个交易状态。
每当交易状态进入 Central Party 时,它必须检查一些条件然后创建交易 automatically.Trade flow creation 应该从 Central party 触发,但不能被执行派对。
能否通过可调度状态实现?
与 SchedulableState
关联的预定流程将由存储状态的每一方执行。所以会被A/Party乙和中央党执行
如果您不是中央党,您需要在预定流程的开始放置一些逻辑以中止。类似于:
@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")
}
}
我指的是 link Implementing schedulable states in corda
在我的用例中:有 3 方,甲方、乙方和中央方。 同理,甲方会与中央党建立交易状态,乙方也会与中央党建立交易状态。
所以现在中央党会有两个交易状态。
每当交易状态进入 Central Party 时,它必须检查一些条件然后创建交易 automatically.Trade flow creation 应该从 Central party 触发,但不能被执行派对。
能否通过可调度状态实现?
与 SchedulableState
关联的预定流程将由存储状态的每一方执行。所以会被A/Party乙和中央党执行
如果您不是中央党,您需要在预定流程的开始放置一些逻辑以中止。类似于:
@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")
}
}