Удаленный доступ к сети Fabric-sample

Я развернул сеть Fabric на удаленном хосте, используя проект Fabric-samples с помощью функции тестовой сети.

Вот как я сделал:

./network.sh up createChannel -ca
./network.sh deployCC -ccl typescript -ccp ~/blockchain/ -cci initLedger

Так что я развернул свой собственный блокчейн с функцией инициализации внутри сети.

Я разработал приложение, которое вызывает сеть, и оно отлично работает при тестировании на моем компьютере. Я хочу развернуть свою сеть Fabric и чейнкод на удаленной виртуальной машине, чтобы мои коллеги могли продолжить разработку приложения и вызывать ту же сеть Fabric.

Для этого я развернул сеть на своей удаленной виртуальной машине и загрузил в локальную папку fabric-samples/test-network/organizations/peerOrganizations/org1.example.com на своем локальном компьютере, чтобы получить сгенерированные сертификаты и информацию о подключении.
Я отредактировал файл org1.example.com/connection-org1.json, чтобы изменить адрес локального хоста на IP-адрес моей удаленной виртуальной машины.

После настройки моего приложения для использования правильных файлов connection-org1.json и fabric-ca-client-config.yaml я запускаю свое приложение.
Мне удалось зарегистрировать администратора и создать нового пользователя в сети.
Но когда я хочу отправить или оценить транзакцию, я получаю следующую ошибку

2020-12-18T12:15:46.586Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Committer- name: orderer.example.com:7050, url:grpcs://orderer.example.com:7050, connected:false, connectAttempted:true
2020-12-18T12:15:46.587Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server orderer.example.com:7050 url:grpcs://orderer.example.com:7050 timeout:3000
2020-12-18T12:15:46.587Z - error: [DiscoveryService]: _buildOrderer[mychannel] - Unable to connect to the discovered orderer orderer.example.com:7050 due to Error: Failed to connect before the deadline on Committer- name: orderer.example.com:7050, url:grpcs://orderer.example.com:7050, connected:false, connectAttempted:true
2020-12-18T12:15:49.591Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Endorser- name: peer0.org1.example.com:7051, url:grpcs://peer0.org1.example.com:7051, connected:false, connectAttempted:true
2020-12-18T12:15:49.591Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server peer0.org1.example.com:7051 url:grpcs://peer0.org1.example.com:7051 timeout:3000
2020-12-18T12:15:49.591Z - error: [DiscoveryService]: _buildPeer[mychannel] - Unable to connect to the discovered peer peer0.org1.example.com:7051 due to Error: Failed to connect before the deadline on Endorser- name: peer0.org1.example.com:7051, url:grpcs://peer0.org1.example.com:7051, connected:false, connectAttempted:true

Кажется, он ищет grpcs://peer0.org1.example.com:7051, а не тот ip, который я указал в файле конфигурации.

Есть ли еще файл конфигурации для извлечения или какие-либо изменения в файлах тестовой сети, чтобы вызывать сеть не с локального хоста?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
455
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел подвох!

Просто добавьте в /etc/hosts dns, используемый образцом ткани, например так:

1.2.3.4   orderer.example.com
1.2.3.4   peer0.org1.example.com
1.2.3.4   peer0.org2.example.com
1.2.3.4   ca.example.com

И вуаля!

Это сработало! У меня та же проблема, с той лишь разницей, что приложение находится не на локальном хосте, а в модуле Kubernetes. Поэтому я должен использовать .spec.hostAliases, чтобы добавить имена хостов.

CH123 20.03.2021 10:26

Другие вопросы по теме