Hyperledger fabric Hyperledger结构多组织

Hyperledger fabric Hyperledger结构多组织,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,我正在学习关于将Hyperledger Composer区块链业务网络部署到Hyperledger Fabric(多个组织)的官方教程。我能够使用提供者Org1和Org2示例来启动网络。现在,我想将组织自定义为我自己的组织。但是在执行./byfn.sh-m up-s couchdb-a命令时。我得到下面的错误;我检查了所有yaml文件,但未能找到可能的错误根源。我真的需要你的帮助。多谢各位 Starting for channel 'mychannel' with CLI timeout of

我正在学习关于将Hyperledger Composer区块链业务网络部署到Hyperledger Fabric(多个组织)的官方教程。我能够使用提供者Org1和Org2示例来启动网络。现在,我想将组织自定义为我自己的组织。但是在执行./byfn.sh-m up-s couchdb-a命令时。我得到下面的错误;我检查了所有yaml文件,但未能找到可能的错误根源。我真的需要你的帮助。多谢各位

Starting for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds and using database 'couchdb',   and using Fabric CAs
Continue? [Y/n] Y
proceeding ...
LOCAL_VERSION=1.2.0
DOCKER_IMAGE_VERSION=1.2.0
WARNING: The COMPOSE_PROJECT_NAME variable is not set. Defaulting to a blank string.
ERROR: The Compose file is invalid because:
Service peer0.org2.example.com has neither an image nor a build context specified. At least one must be provided.
ERROR !!!! Unable to start network

您的peer-base.yaml文件似乎不正确。一个问题是COMPOSE\u PROJECT\u NAME变量。如果未设置,fabric将使用该文件夹作为网络名称。但如果它不正确,则在引导网络时会出现一些错误。我们正在建立一个招标网络,它被称为贸易网络。因此,peer-base.yaml文件中的条目示例如下:

- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic
在boostapping之前,我们使用trade network定义COMPOSE_PROJECT_名称,因此该网络称为trade-network_basic。我不是100%确定,但我认为在引导之后(或在引导期间),fabric仍然会使用文件夹名称。因此,我们决定在默认情况下使用文件夹名称,但没有发生任何错误

另一个问题可能是对等方的图像输入。在我们的文件中:

image: hyperledger/fabric-peer:x86_64-1.1.0
您可以
docker images list
并知道您拥有哪些图像,您必须为同行使用一个图像。在结肠之后,你可以更具体一些,我建议你这样做

下面是完整的peer-base.yaml文件的示例:

version: '2'

services:
  peer-base:
    image: hyperledger/fabric-peer:x86_64-1.1.0
    environment:
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      # the following setting starts chaincode containers on the same
      # bridge network as the peers
      # https://docs.docker.com/compose/networking/
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic
      #- CORE_LOGGING_LEVEL=INFO
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_GOSSIP_USELEADERELECTION=true
      - CORE_PEER_GOSSIP_ORGLEADER=false
      - CORE_PEER_PROFILE_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: peer node start

嗨,安迪,谢谢你的回答。我只是无法更新其中一个yaml文件中的一个配置。我的错。