Список CorDapps - PullRequest
       15

Список CorDapps

0 голосов
/ 25 апреля 2018

Я пытаюсь определить, какие CorDapps работают на узле
эта информация отображается в консоли и в журнале при запуске
Loaded CorDapps : blah-1.1.20, corda-core-2.0.0

Есть ли программный способ получить этот список? (RPC?)

1 Ответ

0 голосов
/ 25 апреля 2018

Вы можете получить список потоков, зарегистрированных на узле, используя метод 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)

Обратите внимание, что это не сработает в случае потоковых тестов с фиктивной сетью, поскольку текущий каталог (./) не будет ссылаться на базовый каталог узла.

...