【问题标题】:How to deploy corda nodes and corresponding spring boot APIs如何部署corda节点和对应的spring boot API
【发布时间】:2019-11-12 15:11:11
【问题描述】:

目前我正在使用 3+1(公证节点)和 spring boot webserver 为 windows 上的 RPC RESTAPI 开发一个 corda 项目。现在我想在 ubuntu VM 和 spring boot 项目上部署这些节点。 截至目前,我正在运行 deploynode gradle 任务来生成节点。那么在不同机器上部署节点时我们该怎么做呢?而我们如何集成ans部署对应的spring webserver呢?谁能详细解释一下。

【问题讨论】:

  • 这需要大量解释请点击此链接docs.corda.net/deploying-a-node.html
  • @SrikanthVarma A 你是怎么部署spring服务器的
  • @wandos 部署 Spring Server 与我们对普通 Spring Boot Web 应用程序的部署方式一样。一旦你编写了你的​​ nodeRPCconnection 类和启动器调用。使用适当的 application.properties 生成 .war/.jar(根据您的要求)。然后部署那个 .jar/.war 文件。希望这可以帮助。谢谢。
  • @SrikanthVarma感谢您的回复,您是部署在节点本身还是其他服务器上并连接到节点?
  • @SrikanthVarmaA 你能部署 spring 服务器吗?

标签: spring-boot ubuntu deployment virtual-machine corda


【解决方案1】:

在不同机器上的网络中安装和运行 Corda 节点的方法很少。

以下是有关如何使用cordite网络地图服务设置corda节点的一些步骤。

先决条件:

  • 各个机器中的节点目录。因此,在您的情况下,它是 4 个文件夹,包括各自机器中的公证人。 (节点目录可以在/build/nodes中./gradlew clean deploynodes之后找到)

  • Cordite NetworkMap 服务

运行 Cordite nw 地图服务:

详情请咨询https://gitlab.com/cordite/network-map-service/blob/master/FAQ.md

  • Docker 方法。
    • docker run -p 8080:8080 -e NMS_STORAGE_TYPE=file cordite/network-map

注册和运行节点的步骤:

    1. 进入公证人目录
      • 1a。删除部署任务形成的不必要文件夹

        rm -rf 网络参数 nodeInfo-* persistence.mv​​.db 证书附加节点信息

      • 1b。编辑 node.conf 以提供兼容区域(安装网络应用程序的位置),假设网络映射在 8080 和 devMode=true 中运行,在 node.conf 中添加以下行

        compatibilityZoneURL="http://localhost:8080" devModeOptions.allowCompatibilityZone=true

      • 1c。将 node.conf 中节点的 p2p 地址更改为节点所在的位置

        p2pAddress="hostip:port"

      • 1d。执行节点的初始注册

        java -jar corda.jar --initial-registration --network-root-truststore ~/tmp/network-truststore.jks --network-root-truststore-password trustpass

    1. 指定公证人
      • 2a。将目录更改为公证节点
      • 2b。获取访问api的token

        TOKEN=`curl -X POST "http://localhost:8080//admin/api/login" -H "accept: text/plain" -H "Content-Type: application/json" -d "{ \"user\": \"sa\", \"password\": \"admin\"}"`

      • 2c。将 nodeInfo 分配给变量

        NODEINFO=`ls nodeInfo*`

      • 2d。 Inovke 指定此节点为公证人的端点(以下是非验证公证人的端点)

        curl -X POST -H "Authorization: Bearer $TOKEN" -H "accept: text/plain" -H "Content-Type: application/octet-stream" --data-binary @$NODEINFO http://localhost:8080//admin/api/notaries/validating

      • 停止公证,在node shell下面执行(node为4.0会自动停止)

        再见

      • 删除更改的网络参数

        rm 网络参数

      • 再次启动节点

        java -jar corda.jar

    1. 注册并启动其他节点
      • 对每个节点重复步骤 1a-1c 以注册节点。
      • 启动节点

        java -jar corda.jar

    1. 如果节点已注册,请查看网络地图。
      • 在浏览器中打开 localost:8080/

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 2019-10-13
    • 2019-07-31
    • 2017-12-09
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多