【发布时间】:2018-08-22 01:03:42
【问题描述】:
我在 corda 观察者节点上执行测试。在 IOU 问题上,为观察者调用流。 IOU 贷方转让流程(将贷方财产更改为新方的流程)也是如此。
我从甲方向乙方开具借据。在观察者节点上 stateAndRef 也会显示出来。
但是在执行转移 IOU 时,观察者节点上不会显示任何更改。它仍然显示旧状态。
观察者节点是否只在保险库或消费/未消费事务中保持取消消费状态?
以下代码仅适用于一个流 IOU 问题,不适用于其他流:
- 我指的是借条例子here
下面是我从每个 Flow 中调用的代码:
object BroadcastTransaction {
@InitiatingFlow
class BroadcastTransactionToObservers(private val stx: SignedTransaction, private val observers: List<Party>) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val sessions = observers.map { initiateFlow(it) }
sessions.forEach { subFlow(SendTransactionFlow(it, stx)) }
}
}
@InitiatedBy(BroadcastTransactionToObservers::class)
class RecordTransactionAsObserver(private val otherSession: FlowSession) :FlowLogic<Unit>() {
@Suspendable
override fun call() {
subFlow( ReceiveTransactionFlow(
otherSideSession = otherSession,
checkSufficientSignatures = true,
statesToRecord = StatesToRecord.ALL_VISIBLE
)
)
}
}
}
我已经检查了节点的日志,即使在 finalityflow 调用之后对观察者流进行调用后也没有获得足够的签名...请在这方面提供帮助?
【问题讨论】:
标签: corda