Hyperledger Fabric多组织部署:导入Composer卡片失败求助
解决Hyperledger Fabric Composer卡片导入报错:Failed to load connector module "composer-connector-undefined"
这个错误几乎都是因为卡片的连接配置缺失关键参数,或者配置信息不正确导致的。我帮你梳理几个最可能的排查方向和解决步骤:
检查卡片创建命令的完整性
你在执行composer card create的时候,必须确保指定了连接配置文件(-p参数)和正确的连接类型(-s参数,Hyperledger Fabric的连接类型是hlfv1)。比如正确的命令应该是这样的:composer card create -p ./connection-profile.json -u Admin -c ./crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem -k ./crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk -r PeerAdmin -r ChannelAdmin -f admin@my-network.card如果你漏掉了
-s hlfv1或者-p参数,卡片就会缺少连接类型的关键信息,导致导入时报错。验证连接配置文件的
type字段
打开你的连接配置文件(比如connection-profile.json),确认里面的type字段存在且值为hlfv1,示例如下:{ "name": "my-network", "type": "hlfv1", "version": "1.0.0", "client": { "organization": "Org1", "connection": { "timeout": { "peer": { "endorser": "300" } } } }, // 其余组织、节点配置... }如果
type字段为空或者被误写,Composer就无法识别要加载的连接器模块,从而抛出"undefined"的错误。确认卡片导入命令的正确性
导入卡片时要确保指定的卡片文件路径正确,比如:composer card import -f admin@my-network.card如果文件路径写错,或者卡片文件本身损坏,也可能导致加载失败。可以先检查卡片文件是否存在,大小是否正常。
检查Composer与Fabric的版本兼容性
版本不匹配也可能引发这类奇怪的配置错误。比如Composer v0.20.x需要搭配Fabric 1.3.x,而Composer v0.19.x对应Fabric 1.2.x。你可以通过以下命令查看版本:composer --version fabric-ca-client version如果版本不兼容,建议调整到匹配的版本后重新创建卡片。
重置卡片重新创建
如果以上步骤都没解决问题,尝试删除已有的同名卡片,然后重新创建和导入:# 删除旧卡片 composer card delete -c Admin@my-network # 重新创建卡片 composer card create -p ./connection-profile.json -u Admin -c ./crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem -k ./crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk -r PeerAdmin -r ChannelAdmin -f admin@my-network.card # 重新导入 composer card import -f admin@my-network.card
内容的提问来源于stack exchange,提问作者Rahul Singh
相关产品推荐
相关产品推荐

