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