Hyper Fabric [fabric-sdk-go] Ошибка: CONNECTION_FAILED. Описание: истекло время ожидания соединения - PullRequest
0 голосов
/ 26 апреля 2018

при попытке создать запрос (предложение) и отправить его с помощью Выполнить ,

    ctxCh := sdk.ChannelContext("mychannel", fabsdk.WithUser("user1"))
    chClient, err := channel.New(ctxCh)
    if err != nil {
        log.Fatalln("error from New channel", err)
    }

    req := channel.Request{
        ChaincodeID: "fabcar",
        Fcn:         "createCar",
        Args:        [][]byte{[]byte("CAR10"), []byte("Honda"), []byte("Accord"), []byte("Black"), []byte("Tom")},
    }
    resp, err := chClient.Execute(req)
    if err != nil {
        log.Fatalln("error from Execute =", err)
    }

Я получаю эту ошибку:

сбой вызова orderer 'orderer.example.com:7050': клиент Orderer Код состояния: (2) CONNECTION_FAILED. Описание: набор номера истекло время ожидания [orderer.example.com:7050]

my config.yaml

channels:
  # name of the channel
  mychannel:
    orderers:
      - orderer.example.com

orderers:
  orderer.example.com:
    url: grpc://localhost:7050

    # these are standard properties defined by the gRPC library
    # they will be passed in as-is to gRPC client constructor
    grpcOptions:
      ssl-target-name-override: orderer.example.com

    tlsCACerts:
      # Certificate location absolute path
      path: ./crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem

Я думаю, что функция Execute пытается подключиться к службе orderer 'orderer.example.com:7050' и не может найти ее, Если я прав, то как я могу изменить orderer.example.com:7050 на grpc: // localhost: 7050

1 Ответ

0 голосов
/ 02 мая 2018

от ракета , Для решения этой проблемы добавьте в config.yaml

entityMatchers:
 orderer:
   - pattern: (\w+).example.(\w+)
     urlSubstitutionExp: grpc://localhost:7050
     sslTargetOverrideUrlSubstitutionExp: orderer.example.com
     mappedHost: orderer.example.com

для сопоставления grpc://localhost:7050 до orderer.example.com

...