hyperledger-fabric - Hyperledger Fabric 多组织
问题描述
我正在关注有关将 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_PROJECT_NAME 变量。如果未设置,fabric 使用该文件夹作为网络名称。但如果不正确,在引导网络时会出现一些错误。我们正在建立一个投标网络,它被称为贸易网络。因此 peer-base.yaml 文件中的条目示例为:
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic
在 boostrapping 之前,我们使用 trade-network 定义 COMPOSE_PROJECT_NAME,因此该网络称为 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
推荐阅读
- python - 随机森林分类器的导入错误
- c# - 我在禁用组件时遇到错误
- regex - 正则表达式匹配部分或全部字符串,从左到右移动
- kubernetes - Apache 反向代理 pod 或入口
- javascript - 页面加载时将 div/页面内容变灰
- c - 在 C 中以 IEEE 标准打印浮点数(十六进制)
- google-sheets - 如何根据日期计算记录并将它们放在每月表格中
- firebase - 使用 apollo graphql 服务器为 next.js 托管的 firebase 云函数
- flutter - 添加 integration_test 包时应用程序构建崩溃
- html - 我怎样才能有分屏布局