首页 > 解决方案 > 流量测试和账户

问题描述

Corda 新手,我正在尝试使用模拟网络中的 Corda 帐户运行(调试)流测试并收到以下错误: java.lang.IllegalArgumentException: Corda service com.r3.corda.lib.accounts.workflows.services.KeyManagementBackedAccountService does not exist

尝试创建新帐户或其他任何事情时。有什么我想念的吗?任何代码将不胜感激。

标签: corda

解决方案


该服务已com.r3.corda.lib.accounts.workflows.services打包,这意味着它是accounts-workflowsCorDapp 的一部分;因此,您必须将该 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")))

一般来说,如果您的节点应该运行一些代码,您必须在该节点上安装该代码;不然怎么能跑呢?因此,如果您正在使用某些库(例如 Accounts 库、Tokens SDK);那么你必须将它安装在你的节点上。


推荐阅读