在Corda中,假设我正在运行创建事务的流程。我已签署交易,但现在暂停流程等待对方签署。
有没有办法让我看到以这种方式挂起的交易清单?
答案 0 :(得分:1)
从Corda 3开始,您无法看到这些交易的内容。
但是,您可以使用流程进度跟踪器步骤找出每个流在其生命周期中的位置。例如,您可以计算在某个用户定义的Transaction is pending.
进度跟踪器步骤中暂停的流数,如下所示:
class Client {
val proxy: CordaRPCOps
init {
val nodeAddress = NetworkHostAndPort.parse("localhost:10006")
val client = CordaRPCClient(nodeAddress)
proxy = client.start("user1", "test").proxy
}
fun currentNumberOfPendingTxs(): Int {
val stateMachineInfos = proxy.stateMachinesSnapshot()
val stateMachinesPendingTxs = stateMachineInfos.filter { info ->
val progressTracker = info.progressTrackerStepAndUpdates
if (progressTracker == null) {
false
} else {
progressTracker.snapshot == "Transaction is pending."
}
}
return stateMachinesPendingTxs.size
}
}