Hyperledger Fabric链码实例化报错求助:已安装链码无法实例化
问题:Peer节点链码实例化失败排查
错误现象
执行链码实例化命令时Peer节点报错,错误截图如下:
相关配置文件(configtx.yaml)
Organizations: - &ebao Name: ebao ID: ebaoMSP MSPDir: crypto-config/ordererOrganizations/ebao.com/msp - &tk Name: tk ID: tkMSP MSPDir: crypto-config/peerOrganizations/tk.com/msp AnchorPeers: - Host: peer0.tk.com Port: 7051 - &cs Name: cs ID: csMSP MSPDir: crypto-config/peerOrganizations/cs.com/msp AnchorPeers: - Host: peer0.cs.com Port: 7051 Orderer: &OrdererDefaults OrdererType: solo Addresses: - orderer.ebao.com:7050 BatchTimeout: 2s BatchSize: MaxMessageCount: 10 AbsoluteMaxBytes: 99 MB PreferredMaxBytes: 512 KB Organizations: Application: &ApplicationDefaults Organizations: Profiles: TwoOrgsOrdererGenesis: Orderer: <<: *OrdererDefaults Organizations: - *ebao Consortiums: SampleConsortium: Organizations: - *tk - *cs TwoOrgsChannel: Consortium: SampleConsortium Application: <<: *ApplicationDefaults Organizations: - *tk - *cs
执行的链码实例化命令
docker exec cli bash -c "$tkPeer0Cli peer chaincode instantiate -o orderer.ebao.com:7050 -C appchannel -n fabric-realty -l golang -v 1.0.0 -c '{\"Args\":[\"init\"]}' -P \"AND ('tkMSP.client','csMSP.client')\""
排查与解决步骤
验证MSP环境变量配置
确认$tkPeer0Cli包含的MSP配置正确:CORE_PEER_LOCALMSPID需设置为tkMSPCORE_PEER_MSPCONFIGPATH需指向cli容器内tk组织Admin用户的MSP目录(如/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/tk.com/users/Admin@tk.com/msp),且该路径下的证书文件存在。
确认Peer已加入目标通道
在cli容器内执行以下命令,检查appchannel是否存在且当前Peer已加入:peer channel list若未加入,先执行通道加入命令:
peer channel join -b appchannel.block检查链码安装状态
在cli容器内执行以下命令,确认fabric-realty:1.0.0已成功安装在当前Peer:peer chaincode list --installed修正实例化策略语法
实例化命令的策略参数中,尝试将client角色替换为member,并确保引号转义正确:docker exec cli bash -c "$tkPeer0Cli peer chaincode instantiate -o orderer.ebao.com:7050 -C appchannel -n fabric-realty -l golang -v 1.0.0 -c '{\"Args\":[\"init\"]}' -P \"AND ('tkMSP.member','csMSP.member')\""验证Orderer连通性
在cli容器内执行ping orderer.ebao.com确认网络可达,同时检查Orderer服务是否正常运行:docker logs orderer.ebao.com
内容的提问来源于stack exchange,提问作者phybrain
相关产品推荐
相关产品推荐

