Я прошел "first-network", без проблем.
В CLI: /opt/gopath/src/github.com/hyperledger/fabric/peer:
выполните следующие команды:
peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/chaincode_example02/go/
peer chaincode instantiate -o orderer.example.com:7050 --tls true --cafile $ORDERER_CA -C mychannel -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "AND('Org1MSP.peer','Org2MSP.peer')"
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile $ORDERER_CA -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}' --peerAddresses peer0.org2.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
Нет проблем. Но когда я выполняю эти команды в подкаталоге однорангового узла /opt/gopath/src/github.com/hyperledger/fabric/peer/scripts:
, install
、 instantiate
и query
успешно, но invoke
ошибка:
Error: endorsement failure during invoke. response: status:500 message:"cannot retrieve package for chaincode mycc/1.0, error open /var/hyperledger/production/chaincodes/mycc.1.0: no such file or directory"
.
Это происходит, когда CLI подключается к peer0.ogr1, но я нахожу этот файл на peer0.ogr1:
введите описание изображения здесь
Я заменил одноранговый узел через CLI, и та же проблема возникла по тому же пути.
Проблема может возникнуть из-за пути, указанного chaincode install -p
. В официальном документе говорится, что это путь относительно $GOPATH/src
, поэтому я считаю, что этот путь не должен иметь ничего общего с текущим каталогом.
После поиска я обнаружил две похожие проблемы, но причины: совершенно разные и не могут быть использованы для справки. Поэтому я могу только поднимать новые проблемы и надеяться найти решения.
две похожие проблемы:
Установить другую версию чейнкода (Hyperledger fabi c)
Hyperledger Fabri c - Как ограничить Org2 для установки / создания / обновления цепного кода на канал?
версия: Fabric1.4.4, Ubuntu18.04
структура: один заказ, четыре пира, каждый распределен на пяти машинах, нет проблем с обычными транзакциями