在运行corda节点时,Cordapps是如何使用corda.jar部署的?

在运行corda节点时,Cordapps是如何使用corda.jar部署的?,corda,Corda,我们正在build.gradle中定义节点配置 运行gradle deployNodes任务后,根据build directory/nodes中的配置,将以文件夹的名称创建文件夹 每个节点都有以下文件: 科尔达·贾尔 网络参数 持久性.mv.db node.conf 证书 司机 日志 cordapps 我有以下几个问题, runnodes.jar的作用是什么?这意味着corda.jar是如何启动的,以及如何在此基础上部署cordapps 如果我更改node.conf,那么runnodes会影响n

我们正在build.gradle中定义节点配置

运行gradle deployNodes任务后,根据build directory/nodes中的配置,将以文件夹的名称创建文件夹

每个节点都有以下文件:

  • 科尔达·贾尔
  • 网络参数
  • 持久性.mv.db
  • node.conf
  • 证书
  • 司机
  • 日志
  • cordapps
  • 我有以下几个问题,

  • runnodes.jar的作用是什么?这意味着corda.jar是如何启动的,以及如何在此基础上部署cordapps
  • 如果我更改node.conf,那么runnodes会影响node.conf吗?还是需要再次构建corda.jar
  • 其中,其他节点的p2paddress与每个节点共享
  • 假设如果我想在不同的EC2实例中部署节点,我是否需要在build.gradle上用每个节点的正确EC2 IP地址提及p2paddress,或者我可以动态地这样做

  • runnodes
    转到每个节点的文件夹,并通过运行Corda JAR(通过运行类似
    java-JAR Corda.JAR的东西)启动它。当Corda JAR启动时,它会扫描
    cordapps
    文件夹中的cordapps并将其加载到节点中
  • 如果停止一个节点并修改
    node.conf
    文件,则下次运行该节点时将应用更改。没有必要重新部署
  • 这取决于:

    • 如果您在开发模式下运行,则在您首次部署节点以将每个节点的
      nodeInfo
      (包含其名称、公钥、地址等的文件)复制到其他节点时,将运行引导程序。如果修改其
      node.conf
      文件中某个节点的地址,则需要重新运行引导程序。请参阅说明

    • 如果您在开发模式之外运行,则需要提供一个网络映射服务器(如上所述),该服务器将向每个节点分发网络节点上的信息


  • 非常感谢Joel。关于第三点,在本例中,如果我正在开发一个联合应用程序。我需要在一个地方构建bootstrapper函数,就像开发不能以分散的方式进行一样。为了更清楚,我们第一次创建了corda jar、cordapps并分发给不同的组织。它们已部署在相应的云实例中。有一天,一些组织需要更改其节点的p2paddress,如何将此数据更新到其他两个节点?提前谢谢。