Azure云Corda 2.0节点10004端口无法显示已安装CorDapps问题咨询
排查Corda 2.0节点Web界面不显示自定义CorDapp的问题
我之前帮不少开发者排查过类似的Corda节点Web界面无法识别自定义CorDapps的问题,结合你在Azure部署Corda 2.0网络的场景,给你梳理几个关键的排查和修复步骤:
1. 检查CorDapp Jar包的命名与结构
- 命名规范:Corda 2.0要求自定义CorDapp的Jar文件名必须包含
-cordapp后缀(比如yo-app-cordapp.jar),如果你的Jar文件名为yo!app.jar这类不符合规范的名称,节点会无法识别它为CorDapp。 - 内部结构验证:Jar包内必须存在
META-INF/services/net.corda.core.node.CordaPluginRegistry文件,该文件需指定你的CorDapp对应的插件注册表类。你可以在节点上执行以下命令检查:
如果没有输出结果,说明Jar包结构不符合要求,需要重新构建符合Corda规范的CorDapp包。jar tf /opt/corda/plugins/yo!app.jar | grep CordaPluginRegistry
2. 验证节点配置文件
打开节点的node.conf配置文件(通常位于/opt/corda/config目录),重点检查以下配置:
- WebServer绑定地址:确认
webServer块中的address是否设置为0.0.0.0:10004(或对应公网IP),如果仅绑定localhost,公网访问时可能无法完整加载CorDapp信息。 - 开发模式开关:检查
devMode是否设置为true。在开发模式下,节点会自动加载plugins目录下的所有CorDapp;若处于生产模式,需要手动在cordapps列表中指定要加载的Jar包路径。
3. 查看节点启动日志定位错误
节点启动日志(位于/opt/corda/logs/node.log)会记录CorDapp加载的详细过程,搜索CordaPluginRegistry或CorDapp关键词:
- 如果日志中出现
Failed to load CorDapp from jar类的错误,可根据具体提示排查问题,比如依赖缺失、版本不兼容(注意:yo!app M11是Corda 3.x的里程碑版本,和Corda 2.0可能存在版本不匹配,建议更换为与Corda 2.0兼容的yo!app版本)。
4. 检查Jar包文件权限
Azure上的Corda节点通常以corda用户运行,需确保/opt/corda/plugins目录下的yo!app.jar拥有正确的权限:
- 执行
ls -l /opt/corda/plugins查看权限,若文件所属用户为root,需修改为corda:corda:sudo chown corda:corda /opt/corda/plugins/yo!app.jar
5. 重启节点生效
完成上述任何调整后,都需要重启Corda节点才能让配置或Jar包加载生效:
sudo systemctl restart corda
重启后再次访问http://<公网IP>:10004/,查看自定义CorDapp是否正常显示。
内容的提问来源于stack exchange,提问作者MohamedLEGH
相关产品推荐
相关产品推荐

