Вы можете получить список потоков, зарегистрированных на узле, используя метод CordaRPCOps.registeredFlows
.
Если вам нужен список имен CorDapp, вы можете написать поток, который читает их каталог из каталога cordapps
узла, следующим образом:
@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 }
}
}
Затем вы получите список CorDapps через RPC, используя:
CordaRPCOps.startFlowDynamic(ReadFilesFlow::class.java)
Обратите внимание, что это не сработает в случае потоковых тестов с фиктивной сетью, поскольку текущий каталог (./
) не будет ссылаться на базовый каталог узла.