Сценарий Hyperledger Fabric byfn.sh не удалось загрузить сертификаты

ОС: Windows 10 Домашняя версия 2004 64-битная

Версия докера: 19.03.8

версия для создания докеров: 1.25.5

При запуске сети с помощью ./byfn.sh я столкнулся с несколькими ошибками при загрузке сертификатов при создании канала, присоединении к одноранговым узлам и запросе кода цепочки на одноранговых узлах. Кто-нибудь сталкивался с этой проблемой и решил ее?

2020-06-10 03:49:03.416 UTC [msp] loadCertificateAt -> WARN 001 Failed loading ClientOU certificate at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem]: [could not read file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem: open /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem: no such file or directory]
2020-06-10 03:49:03.418 UTC [msp] loadCertificateAt -> WARN 002 Failed loading PeerOU certificate at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem]: [could not read file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem: open /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem: no such file or directory]
2020-06-10 03:49:03.419 UTC [msp] loadCertificateAt -> WARN 003 Failed loading AdminOU certificate at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem]: [could not read file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem: open /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem: no such file or directory]
2020-06-10 03:49:03.421 UTC [msp] loadCertificateAt -> WARN 004 Failed loading OrdererOU certificate at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem]: [could not read file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem: open /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem: no such file or directory]

person AnotherStackOverflowUser    schedule 10.06.2020    source источник


Ответы (1)


Описание вашего пути недопустимо с точки зрения среды контейнера Linux. Вместо /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts\ca.org1.example.com-cert.pem должно быть:

/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/cacerts/ca.org1.example.com-cert.pem

Данный путь относительно указан в файле config.yaml для каждого создаваемого MSP. Вы можете убедиться в этом там. Кроме того, убедитесь, что вы не изменили файлы docker-compose по умолчанию. В противном случае монтирование тома докера не будет работать правильно, если оно не будет должным образом изменено.

Пожалуйста, выполните ./byfn.sh down, а затем снова запустите сеть с помощью ./byfn.sh up.

person Chintan Rajvir    schedule 10.06.2020
comment
Здравствуйте Чинтан, спасибо за быстрый ответ. Я выполнил ./byfn.sh и перезапустил сеть, но сертификаты по-прежнему не загружаются, и по-прежнему появляется та же ошибка. Я также проверил файл config.yaml для обоих MSP, и вот что находится внутри одного из них: NodeOUs: Enable: true ClientOUIdentifier: Certificate: cacerts/ca.org2.example.com-cert.pem OrganizationalUnitIdentifier: client ... By как я использую Windows 10 версии 2004 и версию Docker 19.03.8 - person AnotherStackOverflowUser; 10.06.2020
comment
Установите следующую переменную среды COMPOSE_CONVERT_WINDOWS_PATHS=1 в переменных среды Windows или создайте файл .env в каталоге fabric-samples/first-network и запишите в него указанную выше переменную. - person Chintan Rajvir; 10.06.2020
comment
Я установил это в настройках переменных среды, но появляется та же ошибка. - person AnotherStackOverflowUser; 10.06.2020
comment
Пожалуйста, попробуйте использовать среду Linux. Вы можете использовать подсистему Windows для Linux (WSL) для среды Windows. По крайней мере, для HLF это работает очень хорошо. Потому что есть несколько проблем, с которыми можно столкнуться при настройке HLF только с Windows. - person Chintan Rajvir; 11.06.2020
comment
Спасибо за предложение! Использовал wsl 2 и включил бэкэнд docker wsl 2, и он работал как шарм. - person AnotherStackOverflowUser; 23.06.2020