【问题标题】:Corda observer keeps track of unconsumed transactions only?Corda 观察者只跟踪未消费的交易?
【发布时间】: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


    【解决方案1】:

    终于发现我的错误了。在日志中我收到错误“签名corda不足”。我在 finalityflow 之后通过了签名签名,但没有将 finalityflow 结果传递给上述流程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 2012-05-18
      • 2019-06-10
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      相关资源
      最近更新 更多