В Hyperledger Fabric, как мне присоединиться к каналу, если я не могу использовать команду peer channel fetch? - PullRequest
0 голосов
/ 15 января 2019

Я хочу, чтобы мой коллега присоединился к каналу (в данном случае mychannel). Этот конкретный узел не имеет файла mychannel.block в своей файловой системе.

Затем я попытался использовать peer channel fetch 0 -c mychannel. Затем я получаю следующую ошибку:

2019-01-15 08:11:18.948 UTC [msp] Validate -> DEBU 036 MSP ZafitMSP validating identity
2019-01-15 08:11:18.949 UTC [msp] GetDefaultSigningIdentity -> DEBU 037 Obtaining default signing identity
2019-01-15 08:11:18.949 UTC [grpc] DialContext -> DEBU 038 parsed scheme: ""
2019-01-15 08:11:18.949 UTC [grpc] DialContext -> DEBU 039 scheme "" not registered, fallback to default scheme
2019-01-15 08:11:18.949 UTC [grpc] watcher -> DEBU 03a ccResolverWrapper: sending new addresses to cc: [{peer1.zafit.example.com:7051 0  <nil>}]
2019-01-15 08:11:18.949 UTC [grpc] switchBalancer -> DEBU 03b ClientConn switching balancer to "pick_first"
2019-01-15 08:11:18.950 UTC [grpc] HandleSubConnStateChange -> DEBU 03c pickfirstBalancer: HandleSubConnStateChange: 0xc4202b78d0, CONNECTING
2019-01-15 08:11:18.952 UTC [grpc] HandleSubConnStateChange -> DEBU 03d pickfirstBalancer: HandleSubConnStateChange: 0xc4202b78d0, READY
2019-01-15 08:11:18.953 UTC [channelCmd] InitCmdFactory -> INFO 03e Endorser and orderer connections initialized
2019-01-15 08:11:18.953 UTC [msp] GetDefaultSigningIdentity -> DEBU 03f Obtaining default signing identity
2019-01-15 08:11:18.953 UTC [msp] GetDefaultSigningIdentity -> DEBU 040 Obtaining default signing identity
2019-01-15 08:11:18.953 UTC [msp/identity] Sign -> DEBU 041 Sign: plaintext: 0AF2060A1508051A0608A6ABF6E10522...1BB3248E4BFA12080A021A0012021A00
2019-01-15 08:11:18.953 UTC [msp/identity] Sign -> DEBU 042 Sign: digest: C8988576954088FD1A61D6D4FFA7A7280E52F10B2F2671693C260B54B09F3B89
2019-01-15 08:11:18.954 UTC [cli/common] readBlock -> INFO 043 Got status: &{NOT_FOUND}

Однако, когда я копирую файл mychannel.block с другого узла, я могу успешно присоединиться к mychannel. Команда peer channel fetch также успешно работает после присоединения к каналу.

Для меня это похоже на сценарий с курицей и яйцом, мне нужно присоединиться к каналу как равный, но я не могу присоединиться, потому что мне нужен блок генезиса. Но я не могу получить блок генеза, потому что мне нужно присоединиться к каналу?

Итак, вопрос в том, какая команда подходит для получения файла генеза mychannel.block?

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Оказывается, мне нужно было добавить параметр orderer -o. Кроме того, поскольку я соединялся с TLS, мне нужно было указать --tls true, а также указать --cafile.

Полная команда выглядит следующим образом:?

peer channel fetch 0 -c mychannel -o orderer.example.com:7050 --tls true --cafile $ORDERER_CA

0 голосов
/ 17 июля 2019
peer channel fetch 0 -c mychannel 

Примечание: вам не нужно выбирать канал, чтобы присоединиться к каналу. Создать канал выдаст файл .block в знак успеха.

канал присоединения будет использовать этот порядок для завершения процесса присоединения

Если вы пропустили .block, вам нужна команда fetch

Примечание: для последних команд выборки

https://hyperledger -fabric.readthedocs.io / о / релиз-1.4 / команды / peerchannel.html

соединение с равноправным каналом -b channel.block --tls --cafile /etc/hyperledger/crypto/peer/tls/ca.crt

когда вы пытаетесь присоединиться к каналу, вы должны связаться с заказчиком, чтобы получить информацию о конфигурации, поэтому вы должны упомянуть -o orderer_name, чтобы узнать об заказчике по CLI

0 голосов
/ 15 января 2019

Вам необходимо добавить флаг -o (--orderer) и установить его в качестве конечной точки службы заказа. Если вы не установите этот флаг, то peer channel fetch пытается получить блок от однорангового узла (который, очевидно, не имеет его). Вы также можете указать другой --peer.address / CORE_PEER_ADDRESS при работе без -o, чтобы получить блок конфигурации от другого партнера.

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