Hyperledger Fabric已部署链码,如何使用peer chaincode list正常查看?
解决Hyperledger Fabric 2.2中
peer chaincode list无法查询链码的方案 问题根因
Fabric 2.x版本引入了全新的链码生命周期管理机制,废弃了1.x版本的LSCC(生命周期系统链码),默认禁用旧版生命周期接口。你使用的
peer chaincode list --installed/--instantiated是仅适配1.x旧生命周期的命令,无法查询到通过2.x新标准流程部署的链码。
前置检查
执行查询命令前,请确保当前终端已经正确配置对应peer节点的环境变量,示例配置如下(可根据你实际的节点信息调整):
export CORE_PEER_TLS_ENABLED=true export CORE_PEER_LOCALMSPID="Org1MSP" export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp export CORE_PEER_ADDRESS=localhost:7051
2.x版本正确查询命令
1. 查询节点上已安装的链码
无需指定通道,直接执行:
peer lifecycle chaincode queryinstalled
返回结果会展示链码包ID、链码名称、版本号等核心信息。
2. 查询指定通道上已提交(部署生效)的链码
指定通道名称即可查询:
peer lifecycle chaincode querycommitted -C mychannel
返回结果会展示该通道上所有已完成审批、提交成功的链码的名称、版本、序列值、背书策略等信息。
兼容旧版peer chaincode list命令的方案(不推荐)
如果必须使用旧版list命令,需要修改节点配置启用旧生命周期:
- 修改peer节点的core.yaml配置,将
chaincode.lifecycle.enable设置为false,关闭新生命周期、启用1.x的LSCC - 重启对应peer节点,按1.x流程重新安装、实例化链码后,即可使用旧版list命令查询
内容的提问来源于stack exchange,提问作者user746461
相关产品推荐
相关产品推荐

