我已经在Corda平台的发行版v1上使用“ Yo!CorDapp”示例(https://github.com/corda/spring-observable-stream)构建了一个CorDapp。
CorDapp具有四个节点-控制器节点(提供网络映射服务和验证公证服务),“节点A”,“节点B”和“节点C”。以下是应用程序中定义的流程-
流程1:“节点A”向“节点B”发送交易请求。还通知“节点C”。
流程2:“节点B”批准交易请求,对其自签名,从A获得签名并结束交易。还通知“节点C”。
我希望“节点A”检查“节点B”是否正在运行,以便它可以决定启动流“流1”。
这可能吗?如果是,请详细说明。
答案 0 :(得分:0)
您应该能够检查网络地图缓存:
serviceHub.networkMapCache.allNodes.map { node -> node.legalIdentities.first() }
检查您要与之通信的一方是否在该列表中。
也就是说,交易对手节点是否正常并不重要。当交易对手恢复时,Corda将处理向节点的交付。