Hyperledger Fabric教程中初始化资产账本报错:chaincode basic未找到
解决Hyperledger Fabric链码调用时"chaincode basic not found"错误
以下是针对该错误的排查与解决步骤:
1. 验证链码在通道的部署状态
先确认basic链码是否已成功在mychannel通道完成定义与提交:
- 切换至
test-network目录,执行命令查看通道内的链码信息:
./network.sh listCC -C mychannel
- 或直接使用
peer命令(需确保终端环境关联正确组织):
# 查看已安装的链码 peer chaincode list --channelID mychannel --installed # 查看已提交到通道的链码 peer chaincode list --channelID mychannel --committed
若--committed输出中无basic链码,说明链码提交未完成,需重新执行部署命令。
2. 检查peer命令的环境变量配置
执行peer chaincode invoke时,必须确保终端环境变量正确关联目标组织的MSP配置,以Org1为例:
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
仅配置PATH无法让peer命令正确识别链码部署状态,必须设置上述MSP相关变量。
3. 重新部署链码(若部署状态验证失败)
若确认链码未成功提交,重新执行部署命令,注意观察每一步(安装、定义、提交)的输出是否无报错:
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go -C mychannel
提示:若之前已尝试过部署,可添加-ccv <版本号>指定新版本(如-ccv 2),避免版本冲突
4. 检查链码容器运行状态
链码部署成功后会启动对应容器,执行命令查看是否存在basic相关容器:
docker ps | grep basic
若未找到对应容器,说明链码实例化失败,可查看peer节点日志排查问题:
docker logs peer0.org1.example.com
内容的提问来源于stack exchange,提问作者iPhoneJavaDev
相关产品推荐
相关产品推荐

