You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Yo!-example CorDapp 3.0.9的Notary部署为远程公证人实例

解决Yo! CorDapp远程公证人节点部署问题

你遇到的核心问题是:当前的deployNodes任务仅负责在本地生成公证人节点文件,没有处理远程服务器的部署逻辑,同时配置本身也存在几处语法和参数设置问题。我来一步步帮你解决:

第一步:修正本地节点生成的Cordform配置

你的原配置有两处关键问题需要调整:

  • p2pAddress和p2pPort不能分开设置,正确格式是将地址与端口合并为一个字符串参数
  • 缺少必要的RPC配置(其他节点需要通过RPC连接公证人,或者你需要远程管理节点)

修正后的build.gradle配置如下:

task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
    directory "./build/nodes"
    node {
        name "O=Notary,L=RemoteNotary,C=GB"
        notary = [validating : true]
        // 合并地址和端口为一个完整字符串
        p2pAddress "1.2.3.4:10002"
        // 添加RPC配置,允许远程管理节点(可选但推荐)
        rpcAddress "1.2.3.4:10003"
        rpcUsers = [[user: "admin", password: "admin", permissions: ["ALL"]]]
        cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
    }
}

运行./gradlew deployNodes后,会在./build/nodes/Notary下生成完整的公证人节点文件。

第二步:将节点文件部署到远程服务器

本地节点生成完成后,需要把整个Notary目录传到远程服务器,推荐用scp命令完成传输:

# 替换为你的服务器用户名、IP和目标路径
scp -r ./build/nodes/Notary your_server_user@remote_server_ip:/opt/corda/notary-node

同时确保远程服务器已安装Java 8(Corda 3.x版本推荐的运行环境)。

第三步:配置并启动远程公证人节点

  1. 登录远程服务器,进入节点目录,检查node.conf文件:
    • 确认p2pAddress和rpcAddress已正确设置为服务器的公网IP/域名及对应端口
    • 验证notary配置:notary : { validating : true }
  2. 开放服务器防火墙端口:
    • 必须开放p2p端口(10002)和RPC端口(10003),允许其他Corda节点访问
  3. 启动节点:
    # 前台启动(测试用,方便查看日志)
    ./run.sh
    # 后台启动(生产环境推荐)
    nohup ./run.sh &
    

第四步:让其他节点识别远程公证人

在其他参与节点的node.conf中,将该远程公证人的信息添加到网络配置中,确保其他节点能通过p2p地址连接到它。

原配置不生效的核心原因总结

  • p2pAddress与p2pPort分开设置不符合Cordform插件的语法要求,必须合并为带端口的完整地址字符串
  • deployNodes任务仅负责本地生成节点文件,没有内置远程部署逻辑,需手动或脚本完成文件传输
  • 远程服务器端口未开放,导致其他节点无法连接到公证人实例

内容的提问来源于stack exchange,提问作者Klaus Schulz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:24:29