Composer 0.17.1预发布版REST Server启动报错求助
解决Hyperledger Composer 0.17.1预发布版REST Server连接错误
我之前在使用Composer预发布版时遇到过几乎一模一样的问题,这个connection type "undefined"错误本质是REST Server无法找到正确的连接器配置,或者业务网络的依赖没有正确匹配。下面是几个经过验证的排查和解决步骤:
1. 确认REST Server启动参数的正确性
这个错误的核心是REST Server不知道要使用哪种连接器,大概率是启动时没指定有效的业务网络卡片(Business Network Card)。
- 如果是本地启动REST Server,确保用完整的命令指定卡片:
composer-rest-server -c admin@your-network-name -n never -w true - 如果是Docker部署REST Server,一定要挂载本地的卡片目录,并且指定正确的卡片名称和镜像版本:
注意替换docker run -d -p 3000:3000 -v ~/.composer:/home/composer/.composer hyperledger/composer-rest-server:0.17.1 -c admin@your-network-name -n never -w trueyour-network-name为你实际部署的业务网络名称,同时Docker镜像版本必须和你的全局工具版本(0.17.1)完全一致。
2. 验证业务网络卡片的有效性
先在本地验证卡片是否能正常连接Fabric网络,这能排除卡片本身的问题:
composer network ping -c admin@your-network-name
如果这个命令报错,说明你的卡片配置有问题——可能是连接配置文件(connection profile)错误,或者卡片没有正确导入。需要重新生成并导入卡片,确保connectionProfile指向你的Fabric网络节点地址。
3. 对齐业务网络的依赖版本
你的package.json已经包含了composer-connector-hlfv1,但预发布版的依赖有时候需要明确指定@next标签来拉取最新的预发布包:
- 修改package.json里的相关依赖,把版本从
^0.17.1改成@next,比如:"composer-connector-hlfv1": "@next", "composer-admin": "@next", "composer-client": "@next" - 执行
npm install重新安装依赖 - 重新打包并部署业务网络:
composer archive create -t dir -n . composer network install -c admin@your-network-name -a block-network@0.0.1.bna composer network start -c admin@your-network-name -n block-network -V 0.0.1 -A admin -S adminpw
4. 获取0.17.x版本的示例网络
Hyperledger Composer官方示例仓库中,切换到v0.17.x分支就能找到适配该版本的所有示例网络,比如digitalproperty-network、trade-network等。你可以通过git克隆仓库后切换分支的方式获取,这些示例的package.json配置和部署流程都可以直接作为参考。
内容的提问来源于stack exchange,提问作者Simon Mullaney
相关产品推荐
相关产品推荐

