簡體   English   中英

Hyperledger Fabric-從其他主機加入對等

[英]Hyperledger Fabric - Join peer from another host

我的設置如下:

我如何實際運行Fabric網絡:

  1. 我正在兩台主機上生成相同的通道工件和crypto-config文件。
  2. 主機2上的啟動結構-對等體,couchdbs和ca;
  3. 主機1上的啟動結構;
  4. 在主機1上生成通道; 從主機1加入對等體並更新錨點對等體;
  5. 在檢查覆蓋群網絡時,我可以看到每個主機可用的同位體和容器。

嘗試使主機2中的對等方加入通道時出現我的問題。 我正在嘗試通過主機1上的cli將它們添加到通道中。

但是我收到以下錯誤:

Error: error getting endorser client for channel: endorser client failed to connect to peer0.sponsor.example.com:7051: failed to create new connection: context deadline exceeded

這是主機1的我的docker-compose-cli.yaml:

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

volumes:
  orderer.example.com:
  peer0.manager.example.com:
  peer1.manager.example.com:
  peer0.sponsor.example.com:
  peer1.sponsor.example.com:

networks:
  example:

services:

  orderer.example.com:
    extends:
      file:   base/docker-compose-base-1.yaml
      service: orderer.example.com
    container_name: orderer.example.com
    networks:
      - example

  peer0.manager.example.com:
    container_name: peer0.manager.example.com
    extends:
      file:  base/docker-compose-base-1.yaml
      service: peer0.manager.example.com
    networks:
      - example

  peer1.manager.example.com:
    container_name: peer1.manager.example.com
    extends:
      file:  base/docker-compose-base-1.yaml
      service: peer1.manager.example.com
    networks:
      - example

  cli:
    container_name: cli
    image: hyperledger/fabric-tools:$IMAGE_TAG
    tty: true
    stdin_open: true
    environment:
      - GOPATH=/opt/gopath
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      #- CORE_LOGGING_LEVEL=DEBUG
      - CORE_LOGGING_LEVEL=INFO
      - CORE_PEER_ID=cli
      - CORE_PEER_ADDRESS=peer0.manager.example.com:7051
      - CORE_PEER_LOCALMSPID=ManagerMSP
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/manager.example.com/peers/peer0.manager.example.com/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/manager.example.com/peers/peer0.manager.example.com/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/manager.example.com/peers/peer0.manager.example.com/tls/ca.crt
      - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/manager.example.com/users/Admin@manager.example.com/msp
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: /bin/bash
    volumes:
        - /var/run/:/host/var/run/
        - ./../chaincode/:/opt/gopath/src/github.com/chaincode
        - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
        - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
        - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
    depends_on:
      - orderer.example.com
      - peer0.manager.example.com
      - peer1.manager.example.com

    networks:
      - example

該節點無法連接到peer0.sponsor.proa.com 這可能是由於您根據自己的喜好自定義網絡地址所做的一些更改,這是您自定義的嗎? 我沒有按照這個教程,但我同時定制,同時后的第一個網絡例如遇到一些類似的問題這一個

如果更改了網絡名稱,請確保在configtx.yaml,cryptoconfig.yaml,docker -compose-cli.yamldocker -compose-base.yaml以及peer-base.yaml正確配置對等地址。

如果這些文件的對等方地址未檢出,則您可能需要再次生成通道事務並重新啟動網絡,因為區塊鏈中存在的通道配置與您當前的網絡配置不匹配。

我犯了一個非常簡單的錯誤:我沒有將生成的加密材料從一台主機復制到另一台主機。 我正在所有主機上生成新的加密材料,以為它們將是相同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM