通过CLI使用Hyperledger架构创建通道失败?

时间:2019-12-09 05:21:26

标签: docker hyperledger-fabric hyperledger

问题:

我正在尝试使用Hyperledger架构从头开始构建区块链网络。在创建了crypto-config和通道构件并更改了.ymal文件中的相应属性之后,我将容器上移,然后当我尝试通过CLI创建通道时,会在控制台上留下此错误。

  

无法运行对等设备,因为从中设置bccsp类型的MSP时出错   目录   //opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/doctor.pms.com/users/Admin@doctor.pms.com/msp:   设置错误:零配置引用

这是我的docker-compose-base.yaml文件。

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

version: '2'

services:

  orderer.pms.com:
    container_name: orderer.pms.com
    extends:
      file: peer-base.yaml
      service: orderer-base
    volumes:
        - ../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
        - ../crypto-config/ordererOrganizations/pms.com/orderers/orderer.pms.com/msp:/var/hyperledger/orderer/msp
        - ../crypto-config/ordererOrganizations/pms.com/orderers/orderer.pms.com/tls/:/var/hyperledger/orderer/tls
        - orderer.pms.com:/var/hyperledger/production/orderer
    ports:
      - 7050:7050

  peer0.generalpublic.pms.com:
    container_name: peer0.generalpublic.pms.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer0.generalpublic.pms.com
      - CORE_PEER_ADDRESS=peer0.generalpublic.pms.com:7051
      - CORE_PEER_LISTENADDRESS=0.0.0.0:7051
      - CORE_PEER_CHAINCODEADDRESS=peer0.generalpublic.pms.com:7052
      - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.generalpublic.pms.com:8051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.generalpublic.pms.com:7051
      - CORE_PEER_LOCALMSPID=GeneralpublicMSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/generalpublic.pms.com/peers/peer0.generalpublic.pms.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/generalpublic.pms.com/peers/peer0.generalpublic.pms.com/tls:/etc/hyperledger/fabric/tls
        - peer0.generalpublic.pms.com:/var/hyperledger/production
    ports:
      - 7051:7051

  peer1.generalpublic.pms.com:
    container_name: peer1.generalpublic.pms.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer1.generalpublic.pms.com
      - CORE_PEER_ADDRESS=peer1.generalpublic.pms.com:8051
      - CORE_PEER_LISTENADDRESS=0.0.0.0:8051
      - CORE_PEER_CHAINCODEADDRESS=peer1.generalpublic.pms.com:8052
      - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:8052
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.generalpublic.pms.com:8051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.generalpublic.pms.com:7051
      - CORE_PEER_LOCALMSPID=GeneralpublicMSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/generalpublic.pms.com/peers/peer1.generalpublic.pms.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/generalpublic.pms.com/peers/peer1.generalpublic.pms.com/tls:/etc/hyperledger/fabric/tls
        - peer1.generalpublic.pms.com:/var/hyperledger/production

    ports:
      - 8051:8051

  peer0.doctor.pms.com:
    container_name: peer0.doctor.pms.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer0.doctor.pms.com
      - CORE_PEER_ADDRESS=peer0.doctor.pms.com:9051
      - CORE_PEER_LISTENADDRESS=0.0.0.0:9051
      - CORE_PEER_CHAINCODEADDRESS=peer0.doctor.pms.com:9052
      - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:9052
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.doctor.pms.com:9051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.doctor.pms.com:10051
      - CORE_PEER_LOCALMSPID=DoctorMSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/doctor.pms.com/peers/peer0.doctor.pms.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/doctor.pms.com/peers/peer0.doctor.pms.com/tls:/etc/hyperledger/fabric/tls
        - peer0.doctor.pms.com:/var/hyperledger/production
    ports:
      - 9051:9051

  peer1.doctor.pms.com:
    container_name: peer1.doctor.pms.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer1.doctor.doctor.com
      - CORE_PEER_ADDRESS=peer1.doctor.pms.com:10051
      - CORE_PEER_LISTENADDRESS=0.0.0.0:10051
      - CORE_PEER_CHAINCODEADDRESS=peer1.doctor.pms.com:10052
      - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:10052
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.doctor.pms.com:10051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.doctor.pms.com:9051
      - CORE_PEER_LOCALMSPID=DoctorMSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/doctor.pms.com/peers/peer1.doctor.pms.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/doctor.pms.com/peers/peer1.doctor.pms.com/tls:/etc/hyperledger/fabric/tls
        - peer1.doctor.pms.com:/var/hyperledger/production
    ports:
      - 10051:10051

这是我的docker-compose-cli.yaml文件。

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

version: '2'

volumes:
  orderer.pms.com:
  peer0.generalpublic.pms.com:
  peer1.generalpublic.pms.com:
  peer0.doctor.pms.com:
  peer1.doctor.pms.com:
  ca.Generalpublic.pms.com:
  ca.doctor.pms.com:


networks:
  byfn:

services:
  ca.generalpublic.pms.com:
    image: hyperledger/fabric-ca:latest
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca.generalpublic.pms.com
      - FABRIC_CA_SERVER_TLS_ENABLED=true
      - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.generalpublic.pms.com-cert.pem
      - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/929794a7d5a90f2fc4f2dbc53db66d27cba02f8efbed28ff1d14001e862a3574_sk
    ports:
      - "7054:7054"
    command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.generalpublic.pms.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/929794a7d5a90f2fc4f2dbc53db66d27cba02f8efbed28ff1d14001e862a3574_sk -b admin:adminpw -d'
    volumes:
      - ./crypto-config/peerOrganizations/generalpublic.pms.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca.generalpublic.pms.com
    networks:
      - byfn

  ca.doctor.pms.com:
    image: hyperledger/fabric-ca:latest
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca.doctor.pms.com
      - FABRIC_CA_SERVER_TLS_ENABLED=true
      - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.doctor.pms.com-cert.pem
      - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/5c238614a373e903f982d5735db36fad9f2a2c5ce42fc6a9a3df6628a91657e4_sk
    ports:
      - "8054:7054"
    command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.doctor.pms.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/5c238614a373e903f982d5735db36fad9f2a2c5ce42fc6a9a3df6628a91657e4_sk -b admin:adminpw -d'
    volumes:
      - ./crypto-config/peerOrganizations/doctor.pms.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca.doctor.pms.com
    networks:
      - byfn


  orderer.pms.com:
    extends:
      file:   base/docker-compose-base.yaml
      service: orderer.pms.com
    container_name: orderer.pms.com
    networks:
      - byfn

  peer0.generalpublic.pms.com:
    container_name: peer0.generalpublic.pms.com
    extends:
      file:  base/docker-compose-base.yaml
      service: peer0.generalpublic.pms.com
    networks:
      - byfn

  peer1.generalpublic.pms.com:
    container_name: peer1.generalpublic.pms.com
    extends:
      file:  base/docker-compose-base.yaml
      service: peer1.generalpublic.pms.com
    networks:
      - byfn

  peer0.doctor.pms.com:
    container_name: peer0.doctor.pms.com
    extends:
      file:  base/docker-compose-base.yaml
      service: peer0.doctor.pms.com
    networks:
      - byfn

  peer1.doctor.pms.com:
    container_name: peer1.doctor.pms.com
    extends:
      file:  base/docker-compose-base.yaml
      service: peer1.doctor.pms.com
    networks:
      - byfn


  cli:
    container_name: cli
    image: hyperledger/fabric-tools:latest
    tty: true
    stdin_open: true
    environment:
      - GOPATH=/opt/gopath
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      - FABRIC_LOGGING_SPEC=DEBUG
      # - FABRIC_LOGGING_SPEC=INFO
      - CORE_PEER_ID=cli
      - CORE_PEER_ADDRESS=peer0.doctor.pms.com:9051
      - CORE_PEER_LOCALMSPID=DoctorMSP
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/doctor.pms.com/peers/peer0.doctor.pms.com/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/doctor.pms.com/peers/peer0.doctor.pms.com/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/doctor.pms.com/peers/peer0.doctor.pms.com/tls/ca.crt
      - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/doctor.pms.com/users/Admin@doctor.pms.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.pms.com
      - peer0.generalpublic.pms.com
      - peer1.generalpublic.pms.com
      - peer0.doctor.pms.com
      - peer1.doctor.pms.com
      - ca.generalpublic.pms.com
      - ca.doctor.pms.com
    networks:
      - byfn

我尝试在Internet上找到解决此问题的方法,但是我无法找到解决此问题的确切方法。有人可以帮我找出解决这个问题的方法吗?谢谢。

0 个答案:

没有答案