Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Corda 关闭devMode后使用自己的证书时出现节点bringup问题_Corda - Fatal编程技术网

Corda 关闭devMode后使用自己的证书时出现节点bringup问题

Corda 关闭devMode后使用自己的证书时出现节点bringup问题,corda,Corda,在使用我们自己生成的证书(不是由Corda节点在devMode=true中生成的证书)时,我们在使用Corda代码时面临以下问题 以下是我们采取的步骤: 根据生成的证书 已将证书复制到/certificates目录 已删除参考资料目录中的cordadevcakeys.jks和cordatruststore.jks 启动节点。我们得到了以下错误: 节点启动期间发生异常{} java.lang.IllegalArgumentException:找不到网络参数文件,兼容性区域未配置/未设置 可达成

在使用我们自己生成的证书(不是由Corda节点在
devMode=true
中生成的证书)时,我们在使用Corda代码时面临以下问题

以下是我们采取的步骤:

  • 根据生成的证书
  • 已将证书复制到/certificates目录
  • 已删除参考资料目录中的
    cordadevcakeys.jks
    cordatruststore.jks
启动节点。我们得到了以下错误:

节点启动期间发生异常{} java.lang.IllegalArgumentException:找不到网络参数文件,兼容性区域未配置/未设置 可达成的 at net.corda.node.internal.NetworkParametersReader.retrieveNetworkParameters(NetworkParametersReader.kt:53) ~[corda-node-corda-4.0-SNAPSHOT.jar:?] at net.corda.node.internal.NetworkParametersReader.access$retrieveNetworkParameters(NetworkParametersReader.kt:17) ~[corda-node-corda-4.0-SNAPSHOT.jar:?] 在net.corda.node.internal.NetworkParametersReader$networkParameters$2.invoke(NetworkParametersReader.kt:26) ~[corda-node-corda-4.0-SNAPSHOT.jar:?] 在

现在,如果我们将
cordadevcakeys.jks
cordatruststore.jks
保存在resources目录中,节点就会出现

查询:

  • 在上述情况下,我们是否需要提供兼容区url
  • 如果是的话,请您帮助我们了解配置相同设备的要求
  • 看门人如何发送证书?使用HTTPS/HTTPGET方法?还是其他协议
  • 您能解释一下对节点bringup的资源目录中的
    cordadevcakeys.jks
    cordatruststore.jks
    的依赖关系吗,
    devmode=false
    &兼容区
  • 你能解释一下网络参数的必要性和结构吗
  • 我们无法找到网络参数的正确用途或文档。你能帮我理解一下吗
  • 配置兼容性区域与配置网络地图服务不同吗
  • Doorman不同于网络地图,Doorman是一个离线实体,证书是在带外生成和分发的?这种理解正确吗
  • 网络映射是单个文件还是离散的不同节点信息文件。如果是一个文件,你能分享一下格式和编码吗?/network map/node info/{hash}中的散列代表什么
  • 我对/network map/ack参数的用法感到困惑。你能解释一下吗
  • 在示例中,compatibilityZoneUrl与方案“https://”一起给出。此示例是否错误
  • 如何创建网络参数文件?我了解该文件。但不知道确切的编码。该文件是由独立程序创建的吗?谁对此进行签名?节点操作员每次是否需要手动接受新的网络参数集?我如何知道/network map/network parameters/{hash}的哈希值
  • 请参阅随附的我的理解图片。请让我知道理解和过程是否正确
  • 您可以指定节点向其发送证书请求的端点吗?我看到了以下内容:

    你能解释一下门卫URL服务的其他端点吗? 是不是
    /证书

  • 由于网络图具有以下结构:

    data class NetworkMap(  
        val nodeInfoHashes: List<SecureHash>,
        val networkParameterHash: SecureHash,
        val parametersUpdate: ParametersUpdate?
    ) 
    
    数据类网络图(
    val NodeInfo哈希:列表,
    val networkParameterHash:SecureHash,
    val参数SUPDATE:参数SUPDATE?
    ) 
    
    它不包含一个
    节点信息
    。下面的选项是否正确 程序

  • 节点首先从 网络地图
  • 然后节点逐个下载所有的
    nodeInfo
    s
  • 你能解释一下什么时候上传
    nodeInfo
    给定的节点是第一个节点,网络映射可能为空 节点无法启动,因为网络映射中没有任何内容(自 没有
    nodeinfo
    s)


    注意:除了查看这些答案外,您还应该参考:

    • 此处的测试网络映射服务器实现:

    • 此处的测试门卫请求处理程序:

    答复如下:

  • 是。引发此错误消息的原因可能是您未提供兼容区域URL,或者无法访问您提供的URL所在的服务器

  • 您需要提供一个网络映射服务器,该服务器侦听节点配置文件中列出的地址作为兼容区域URL,并实现以下协议:

  • 门卫使用HTTP发送网络映射参数和节点信息,以响应遵守此协议的HTTP GET请求:。未使用HTTPS,但由于网络参数和节点信息对象已签名,因此无法篡改它们

  • 这些
    .jks
    文件是开发密钥库,仅在dev模式下运行节点时使用(即
    devMode=true

  • 此处记录了对网络参数的需要:。网络参数的结构是以下类的序列化实例:

  • 此处记录了网络参数:

  • 不,它们是一样的

  • 是的,它们是不同的实体。门卫提供节点CA证书,而网络映射用于允许节点发现网络上的其他节点。根网络CA证书在带外分发。然后节点使用
    --初始注册
    标志(请参阅)执行证书签名请求并创建其节点CA证书。然后节点将创建其身份证书并
    data class NetworkMap(  
        val nodeInfoHashes: List<SecureHash>,
        val networkParameterHash: SecureHash,
        val parametersUpdate: ParametersUpdate?
    )