blockchain - Notary 无法安装 Corda 服务
问题描述
我试图通过在我的应用程序中添加 r3 提供的工具包作为 corrdapp 依赖项来在我的解决方案中配置业务网络运营商服务。我能够构建应用程序,但是当我运行节点时,我收到 Notary 错误
更新
我正在添加日志
[ERROR] 2020-09-04T14:21:15,399Z [main] internal.Node. - Unable to install Corda service com.r3.businessnetworks.membership.flows.bno.service.BNOConfigurationService - [errorCode=dfc7g6, moreInformationAt=https://errors.corda.net/OS/4.5/dfc7g6]
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_201]
[...]
at net.corda.node.Corda.main(Corda.kt:13) ~[corda-node-4.5.jar:?]
Caused by: java.lang.NullPointerException
at com.r3.businessnetworks.membership.flows.ConfigUtils.loadConfig(ConfigUtils.kt:16) ~[?:?]
at com.r3.businessnetworks.membership.flows.bno.service.BNOConfigurationService.<init>(BNOConfigurationService.kt:21) ~[?:?]
... 33 more
[ERROR] 2020-09-04T14:21:15,458Z [main] internal.NodeStartupLogging. - Exception during node startup - [errorCode=dfc7g6, moreInformationAt=https://errors.corda.net/OS/4.5/dfc7g6]
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_201]
[...]
at net.corda.cliutils.CordaCliWrapperKt.start(CordaCliWrapper.kt:89) ~[corda-tools-cliutils-4.5.jar:?]
at net.corda.node.Corda.main(Corda.kt:13) ~[corda-node-4.5.jar:?]
Caused by: java.lang.NullPointerException
at com.r3.businessnetworks.membership.flows.ConfigUtils.loadConfig(ConfigUtils.kt:16) ~[?:?]
at com.r3.businessnetworks.membership.flows.bno.service.BNOConfigurationService.<init>(BNOConfigurationService.kt:21) ~[?:?]
... 33 more
解决方案
您缺少此 CorDapp 的配置文件,如此处所述;你必须:
config
在节点的文件夹中创建一个 文件cordapps
夹(即node-folder/cordapps/config
)。- 在该文件夹中创建一个
membership-service.conf
文件。 - 在该文件中添加:
// Whitelist of accepted BNOs. Attempt to communicate to not whitelisted // BNO would result into an exception bnoWhitelist = ["O=BNO,L=New York,C=US", "O=BNO,L=London,C=GB"] // Name of the notary to use for BNO transactions such as membership approval notaryName = "O=Notary,L=Longon,C=GB"
您使用的 CorDapp 依赖于配置文件(上述 3 个步骤创建该文件),它会导致NullPointerException
它丢失。要了解有关 CorDapp 配置文件的更多信息,请阅读我的文章。
在旁注中,据此;您使用的 CorDapp 将于 2020 年 9 月 31 日弃用。
推荐阅读
- java - 为什么解析的时间戳-923130000和-923130001的LocalDateTime变量之间的秒数是3599?
- delphi - FireDAC Master-Details 缓存更新无法正常工作
- javascript - npm install 成功运行但创建一个空的 node_modules 文件夹
- c++ - VS Code 和 wxWidgets:致命错误:wx/wx.h:没有这样的文件或目录
- php - laravel 如何处理会话 id?
- matlab - 在scilab中使用部分分数展开的逆z变换?
- sql - “缺少右括号” - 00907. 00000
- javascript - 如何通过按一次按钮开始然后停止 CSS 动画,然后重做?
- r - 使用 apply 在函数中添加条件
- html - 使用 flexbox 可以实现这种响应式布局吗?