corda - 流量测试和账户
问题描述
Corda 新手,我正在尝试使用模拟网络中的 Corda 帐户运行(调试)流测试并收到以下错误:
java.lang.IllegalArgumentException: Corda service com.r3.corda.lib.accounts.workflows.services.KeyManagementBackedAccountService does not exist
尝试创建新帐户或其他任何事情时。有什么我想念的吗?任何代码将不胜感激。
解决方案
该服务已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")))
一般来说,如果您的节点应该运行一些代码,您必须在该节点上安装该代码;不然怎么能跑呢?因此,如果您正在使用某些库(例如 Accounts 库、Tokens SDK);那么你必须将它安装在你的节点上。
推荐阅读
- ibm-mq - MQ | 频道 RETRYING 状态
- ruby-on-rails - 如何测试动作文本?如何在 yml 中添加动作文本?
- intellij-idea - Intellij“在路径中查找”只有“目录”的结果,但没有项目、模块或范围的结果
- java - 返回给定范围内较大的值
- python - 在python中移动选定的月份
- oracle - 当文件名中有日期时如何在INFILE中连接日期
- python - YouTube 搜索 - 脚本多次正常运行,然后出现错误
- mysql - mysql:使用公用表表达式检索所有行
- python - 如何将 3d 数组转换为数据框,以使第三维成为数据框的列表条目
- excel - 将多个excel文件合并为一个文件后如何获取源文件名?