Тест потока и счетов - PullRequest
       40

Тест потока и счетов

0 голосов
/ 30 января 2020

Новичок в Corda, и я пытаюсь выполнить (отладить) тесты потока с использованием учетных записей Corda в Mock Network и получаю следующую ошибку: java.lang.IllegalArgumentException: Corda service com.r3.corda.lib.accounts.workflows.services.KeyManagementBackedAccountService does not exist

при попытке создать новую учетную запись или что-либо еще еще в этом отношении. Есть ли что-то, что мне не хватает? Любой код будет оценен.

1 Ответ

1 голос
/ 30 января 2020

Эта услуга находится в пакете com.r3.corda.lib.accounts.workflows.services, что означает, что она входит в accounts-workflows CorDapp; поэтому вы должны включить этот CorDapp в вашу макетированную сеть, чтобы он устанавливался на ваших максируемых узлах:

// Setup network.
network = new MockNetwork(new MockNetworkParameters().withCordappsForAllNodes(ImmutableList.of(                
        TestCordapp.findCordapp("com.r3.corda.lib.tokens.contracts"),
        TestCordapp.findCordapp("com.r3.corda.lib.tokens.workflows"),
        TestCordapp.findCordapp("com.r3.corda.lib.tokens.money"),
        TestCordapp.findCordapp("com.r3.corda.lib.tokens.selection"),
        TestCordapp.findCordapp("com.r3.corda.lib.accounts.contracts"),
        // This CorDapp has the missing service from your error message.
        TestCordapp.findCordapp("com.r3.corda.lib.accounts.workflows"),
        TestCordapp.findCordapp("com.r3.corda.lib.ci")))

В общем, если ваш узел должен выполнять некоторый код, вы должны установить этот код на этом узле; иначе как он сможет его запустить? Так что, если вы используете какую-то библиотеку (например, Библиотека учетных записей, Tokens SDK); тогда вы должны установить его на свой узел.

...