Corda 应用程序列表

Corda 应用程序列表,corda,Corda,我正在尝试识别节点上正在运行哪些应用程序 此信息在启动时显示在控制台和日志中加载的CorDapps:blah-1.1.20、corda-core-2.0.0 有没有一种程序化的方法来获取该列表?RPC 您可以使用CordaRPCOps.registeredFlows方法检索在节点上注册的流列表 如果需要CorDapp名称列表,可以编写一个流,从节点的CorDapp目录中读取这些名称,如下所示: @InitiatingFlow @StartableByRPC class ReadFilesFlow

我正在尝试识别节点上正在运行哪些应用程序 此信息在启动时显示在控制台和日志中加载的CorDapps:blah-1.1.20、corda-core-2.0.0
有没有一种程序化的方法来获取该列表?RPC

您可以使用CordaRPCOps.registeredFlows方法检索在节点上注册的流列表

如果需要CorDapp名称列表,可以编写一个流,从节点的CorDapp目录中读取这些名称,如下所示:

@InitiatingFlow
@StartableByRPC
class ReadFilesFlow : FlowLogic<List<String>>() {
    override val progressTracker = ProgressTracker()

    @Suspendable
    override fun call(): List<String> {
        val cordappDirectory = File("./cordapps")
        val cordappFiles = cordappDirectory.listFiles()
        return cordappFiles.map { file -> file.name }
    }
}

请注意,这在模拟网络的流测试中不起作用,因为当前目录不会引用节点的基本目录。

这不会错过corda core吗?这一点很好。会的。您必须记住,这将返回除corda core之外的CordApp列表。
CordaRPCOps.startFlowDynamic(ReadFilesFlow::class.java)