Я пытаюсь получить доступ к локально размещенной Hyperledger Fabric с помощью Fabric SDK. У меня нет проблем с вызовом транзакций с моей локальной машины. Но когда я пытаюсь запустить скрипт с помощью Fabric SDK с другого компьютера в той же сети, я продолжаю получать сообщение об ошибке.
Я указал свой локальный IP-адрес в config.json
{
"channel_name": "mychannel",
"smart_contract_name": "smartcontract",
"connection_file": "local_fabric_connection.json",
"appAdmin": "admin",
"appAdminSecret": "adminpw",
"orgMSPID": "Org1MSP",
"caName": "ipaddress:port",
"userName": "user1",
"gatewayDiscovery": { "enabled": true, "asLocalhost": false }
}
Я также попытался использовать свой локальный IP-адрес, изменив localhost на свой IP-адрес в файле подключения:
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0.org1.example.com"
],
"certificateAuthorities": [
"ca.org1.example.com"
]
}
},
"peers": {
"peer0.org1.example.com": {
"url": "grpc://ipaddress:17051"
}
},
"certificateAuthorities": {
"ca.org1.example.com": {
"url": "http://ipaddress:17054",
"caName": "ca.org1.example.com"
}
}
Есть ли другие настройки, которые мне нужно изменить, чтобы получить доступ к Fabric с другого компьютера?
Я разрабатываю смарт-контракты с помощью расширения IBM Blockchain Extension в VSCode.
Когда я запускаю свой скрипт «query.js», я продолжаю получать эту ошибку:
[Remote.js]: Error: Failed to connect before the deadline URL:grpc://peer0.org1.example.com:17051
Можете ли вы подключиться с машины, на которой она не работает, к IP-адресу и порту, чтобы убедиться, что нет проблем с брандмауэром, локальным или каким-либо другим telnet <IP> <port>
при условии, что у вас установлен Telnet.
Спасибо за ваши ответы. Мне просто пришлось полностью удалить gateDiscovery из config.json
Я исправил проблему, удалив gatewayDiscovery из config.json.
Пробовали ли вы проверить, правильно ли работает служба обнаружения? Ниже ссылка на официальную документацию: hyperledger-fabric.readthedocs.io/en/release-1.4/…