首页 > 解决方案 > 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

标签: blockchaincordanotary

解决方案


您缺少此 CorDapp 的配置文件,如此处所述;你必须:

  1. config在节点的文件夹中创建一个 文件cordapps夹(即node-folder/cordapps/config)。
  2. 在该文件夹中创建一个membership-service.conf文件。
  3. 在该文件中添加:
    // 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 日弃用。


推荐阅读