«Ошибка: нет действительного ответа от каких-либо одноранговых узлов» при выполнении установки сети композитора в пользовательской матричной сети - PullRequest
1 голос
/ 07 мая 2019

В настоящее время я настраиваю пользовательскую сеть Hyperledger Fabric для проекта Hyperledger Composer, над которым я работаю.

С файлами Composer уже все в порядке и они отлично работают, используя встроенный серверный комплект, то есть ./startFabric.sh. Я следовал учебному пособию о том, как развернуть существующую бизнес-сеть в ситуации с несколькими организациями, используя заданный byfn.sh, и сеть была успешно установлена ​​(composer network install ... успешно устанавливает .bna в тканевая сеть).

Теперь я попытался изменить byfn.sh для поддержки 3 (трех) организаций, используя только одного участника для каждой организации. Другие файлы (crypto-config.yaml, configtx.yaml, scripts/script.sh и файлы составления докера) также изменяются соответствующим образом.

Тест e2e в script/script.sh фактически успешно выполняется (пока не появится искусство "END" ASCII), что наводит меня на мысль, что сеть Fabric успешно настроена. Команда docker ps также показывает , что работают док-контейнеры.

Однако, когда я пытаюсь выполнить composer network install на установочной матрице, выдается следующее:

$ composer network install -c PeerAdmin@example-org1 -a stockchainz.bna
✖ Installing business network. This may take a minute...
Error: Error trying install business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: Failed to connect before the deadline
Command failed

Почему появляется эта ошибка, даже если сквозной тест проходит нормально? Я подозреваю, что файл connection.json каким-то образом неправильно настроен, так как e2e работает отлично («INSERT_..._CA_CERT» и "INSERT_ORG_NAME" уже заменены правильными значениями)

1 Ответ

1 голос
/ 07 мая 2019

Перебрав логи, я обнаружил, что grpc не может найти одноранговый узел. Оказывается, это была проблема с сертификатом, и что мое подозрение было правильным. Настройка GRPC_VERBOSITY=DEBUG показывает журналы при повторном выполнении composer network install:

...
D0507 12:21:21.934229064   14853 security_handshaker.cc:127] Security handshake failed: {"created":"@1557231681.934207000","description":"Peer name localhost is not in peer certificate","file":"../deps/grpc/src/core/lib/security/security_connector/security_connector.cc","file_line":780}
...

connection.json устанавливает URL всех пиров как grpcs://localhost:<port>. Вместо этого:

...
"peer0.org1.example.com": {
    "url": "grpcs://localhost:7051",
    "tlsCACerts" : {
        "pem": "INSERT_ORG1_CA_CERT"
    }
},
...

Я изменил это на:

...
"peer0.org1.example.com": {
    "url": "grpcs://localhost:7051",
    "grpcOptions": {
        "ssl-target-name-override": "peer0.org1.example.com"
     },
    "tlsCACerts" : {
        "pem": "INSERT_ORG1_CA_CERT"
    }
},
...

После этого архив бизнес-сети успешно установлен:

$ composer network install --card PeerAdmin@example-org1 --archiveFile business-net.bna
⠋ Installing business network. This may take a minute...D0507 12:45:04.640298851   15321 dns_resolver.cc:331]        Using native dns resolver
E0507 12:45:04.640363346   15321 trace.cc:57]                Unknown trace var: 'transport_security'
⠸ Installing business network. This may take a minute...I0507 12:45:07.172482196   15321 subchannel.cc:605]          New connected subchannel at 0x2c208d0 for subchannel 0x2b83880
I0507 12:45:07.173478121   15321 subchannel.cc:605]          New connected subchannel at 0x2b10fa0 for subchannel 0x2b572f0
I0507 12:45:07.174495644   15321 subchannel.cc:605]          New connected subchannel at 0x2c0b0e0 for subchannel 0x2b5bbe0
I0507 12:45:07.176448759   15321 subchannel.cc:605]          New connected subchannel at 0x2bac9c0 for subchannel 0x2b17bc0
⠼ Installing business network. This may take a minute...I0507 12:45:07.205505423   15321 subchannel.cc:605]          New connected subchannel at 0x2d6d400 for subchannel 0x2d65330
I0507 12:45:07.206441632   15321 subchannel.cc:605]          New connected subchannel at 0x2c21970 for subchannel 0x2d69b80
⠧ Installing business network. This may take a minute...I0507 12:45:08.365612394   15321 subchannel.cc:605]          New connected subchannel at 0x2c8efa0 for subchannel 0x2b37020
I0507 12:45:08.369911016   15321 subchannel.cc:605]          New connected subchannel at 0x2bb2660 for subchannel 0x2c9d510
✔ Installing business network. This may take a minute...
Successfully installed business network business-net, version 0.1.0

Command succeeded
...