【发布时间】:2019-03-27 17:25:15
【问题描述】:
在 Corda 流中,您可以向对方发起 FlowSession 以发送和接收数据。
节点可以自己发起FlowSession吗?
【问题讨论】:
标签: corda
在 Corda 流中,您可以向对方发起 FlowSession 以发送和接收数据。
节点可以自己发起FlowSession吗?
【问题讨论】:
标签: corda
是的,这完全没问题。例如,以下将起作用:
@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 })
}
}
【讨论】:
从 Corda 4 开始,这将引发异常并显示消息:
不为本地节点提供流会话。 FinalityFlow 将在本地记录经过公证的交易。
【讨论】: