Ошибка fabric-sdk-go: Нет равноправных подключений к - PullRequest
0 голосов
/ 25 января 2019

Мы используем управляемую цепочку блоков IBM на основе матрицы 1.2 и пакет Go SDK @ 5e291d3a34f59beb9a8ae2bcbba388515648dc73.Когда мы пытаемся вызвать цепной код, который мы установили на одноранговых узлах, мы получаем ошибку «нет подключающихся одноранговых узлов»:

[fabsdk/fab] 2019/01/25 12:25:57 UTC - dispatcher.(*Dispatcher).Start.func1 -> DEBU Listening for events...
[fabsdk/fab] 2019/01/25 12:25:57 UTC - client.(*Client).connect -> DEBU ... got error in connection response: no peers to connect to
[fabsdk/common] 2019/01/25 12:25:57 UTC - retry.(*RetryableInvoker).Invoke -> DEBU Failed with err [error registering for TxStatus event: no peers to connect to] on attempt #1. Checking if retry is warranted...
[fabsdk/util] 2019/01/25 12:25:57 UTC - lazyref.(*Reference).setTimerRunning -> DEBU Timer started
[fabsdk/common] 2019/01/25 12:25:57 UTC - retry.(*RetryableInvoker).Invoke -> DEBU ... retry for err [error registering for TxStatus event: no peers to connect to] is NOT warranted after 1 attempt(s).
[fabsdk/util] 2019/01/25 12:25:57 UTC - lazyref.checkTimeStarted -> DEBU Starting timer

После добавления собственной дополнительной регистрации это выглядит как сбой, потому чтослужба обнаружения пиров (https://github.com/hyperledger/fabric-sdk-go/blob/master/pkg/client/common/discovery/dynamicdiscovery/chservice.go#L72) не возвращает ни одного пира в своем ответе. Кажется, что цели установлены правильно.

После вывода ответа GRPC мы получаем

(*discovery.Response)(0xc4205cd600)(
results: <
    members: <
        peers_by_org: <
            key: "org1" 
            value: <> 
        > 
    >
> 
)

Мы также самостоятельно настроили другую фабричную сеть с тем же цепным кодом, который работает правильно, и тот же дамп показывает это вместо этого (некоторые части были отредактированы):

(*discovery.Response)(0xc42045ed20)(
results: <
    members: <
        peers_by_org: <
            key: "Org1MSP" 
            value: <
                peers: <
                    state_info: <
                        payload:"<redacted>"
                    >
                    membership_info: <payload:"<redacted>" > 
                    identity:"<redacted>" 
                >
                peers: <
                    state_info: <
                        payload:"<redacted>" 
                        signature:"<redacted>" 
                    > 
                    membership_info: <
                        payload:"<redacted>" 
                        signature:"<redacted>" 
                    > 
                    identity:"<redacted>"
                >
            >
        > 
        peers_by_org: <
            key:"Org2MSP"
            value: <
                peers: <
                    state_info:<
                        payload:"<redacted>" 
                        signature:"<redacted>" 
                    > 
                    membership_info: <
                        payload:"<redacted>" 
                    > 
                    identity:"<redacted>" 
                > 
                peers: <
                    state_info: <
                        payload:"<redacted>" 
                        signature:"<redacted>" 
                    > 
                    membership_info: < 
                        payload:"<redacted>" 
                        signature:"<redacted>" 
                    > 
                    identity:"<redacted>" 
                > 
            > 
        > 
    > 
>
)

Я не уверен, если проблеманаходится в конфигурации SDK или фабричной сети IBM Managed. Если это сеть IBM, то кажется, что узлы почему-то не знают, что они являются членами организации.

Кто-нибудь видел этоповедение раньше? Я искал в официальном ракетном чате Hyperledger ошибку «нет подключения к одноранговым узлам», и были получены некоторые результаты, но, похоже, они были вызваныдругие причины, такие как исключение одноранговых узлов SDK, не из-за ответа на запрос обнаружения.

1 Ответ

0 голосов
/ 25 января 2019
  1. Убедитесь, что в канале настроены одноранговые узлы.

  2. Убедитесь, что на узлах настроены внешние конечные точки, т. Е. - (CORE_PEER_GOSSIP_EXTERNALENDPOINT = peer1.org1.example.com: 7051)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...