Corda节点可以与其自身启动流会话吗?

时间:2018-11-08 12:06:34

标签: corda

在Corda流中,您可以与交易对手发起FlowSession来发送和接收数据。

节点可以自己发起FlowSession吗?

2 个答案:

答案 0 :(得分:1)

是的,这完全可以。例如,以下方法将起作用:

@InitiatingFlow
@StartableByRPC
class Initiator : FlowLogic<Unit>() {
    override val progressTracker = ProgressTracker()

    @Suspendable
    override fun call() {
        val selfSession = initiateFlow(ourIdentity)
        selfSession.send("It's me!")
    }
}

@InitiatedBy(Initiator::class)
class Responder(val counterpartySession: FlowSession) : FlowLogic<Unit>() {
    @Suspendable
    override fun call() {
        logger.info(counterpartySession.receive<String>().unwrap { it })
    }
}

答案 1 :(得分:1)

自Corda 4起,这将引发异常消息:

  

不为本地节点提供流会话。 FinalityFlow将在本地记录经过公证的交易。