Hyperledger Fabric中Org3执行evaluateTransaction报错的解决咨询
Hyperledger Fabric供应链应用问题解决指南
问题1:Org3执行evaluateTransaction报错
报错信息:
ERROR MESSAGE: 2022-12-07T12:45:38.620Z - error: [SingleQueryHandler]: evaluate: message=Query failed. Errors: ["Error: Peer peer0.org3.example.com:11051 is not running chaincode SupplychainContract"], stack=FabricError: Query failed. Errors: ["Error: Peer peer0.org3.example.com:11051 is not running chaincode SupplychainContract"]
原因分析
./network.sh deployCC 默认仅将链码安装到Org1和Org2的Peer节点上,Org3的Peer0未安装该链码。evaluateTransaction 默认查询当前客户端关联的本地Peer(即Org3的Peer0),由于该Peer上没有链码实例,因此触发报错。而submitTransaction执行背书时,会从符合背书策略的Peer中选择(此处策略包含Org1/Org2/Org3),实际可能使用了已安装链码的Org1/Org2 Peer,因此无异常。
解决步骤
- 切换到Org3的环境变量配置:
cd ../test-network export PATH=${PWD}/../bin:$PATH export FABRIC_CFG_PATH=$PWD/../config/ export CORE_PEER_TLS_ENABLED=true export CORE_PEER_LOCALMSPID="Org3MSP" export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls/ca.crt export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org3.example.com/users/Admin@org3.example.com/msp export CORE_PEER_ADDRESS=localhost:11051 - 安装链码到Org3的Peer0节点:
安装完成后,再次执行# network.sh deployCC生成的链码包默认在test-network/chaincode-installable目录下 peer lifecycle chaincode install ./chaincode-installable/SupplychainContract.tar.gzevaluateTransaction即可正常查询,第一次调用会自动启动链码容器。
问题2:docker-compose启动Org3与addOrg3.sh容器冲突
原因分析
addOrg3.sh up 已经创建了Org3相关的容器(peer0.org3.example.com、ca.org3.example.com等),再次执行docker-compose -f ./compose/docker/docker-compose-org3.yaml up -d会尝试创建同名容器,导致冲突。
解决方法
方法1:使用addOrg3.sh管理Org3容器
如果已经通过addOrg3.sh up启动了Org3,直接使用该脚本进行启停操作:
- 停止Org3容器:
./addOrg3.sh down - 重新启动Org3容器:
./addOrg3.sh up -c mychannel -ca -s couchdb
方法2:改用docker-compose启动(需清理现有容器)
若要切换为docker-compose管理,先彻底清理Org3相关资源:
cd ../test-network/addOrg3 ./addOrg3.sh down docker rm -f $(docker ps -aq | grep org3) docker volume rm $(docker volume ls | grep org3)
清理完成后,再执行docker-compose命令启动Org3,确保之前已完成Org3加入通道的配置操作(如生成org3.json并更新通道配置)。
内容的提问来源于stack exchange,提问作者Ecem Ozturk
相关产品推荐
相关产品推荐

