当前位置: 首页 > 知识库问答 >
问题:

Hyperledger Fabric多组织

云开诚
2023-03-14

我正在学习关于将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

共有1个答案

印子平
2023-03-14

看起来您的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

下面是完整的基于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
 类似资料:
  • MATLAB中的多元数组MATLAB是下标多于两个的数组。可以调用带有两个以上变元的zeros, ones, rand, 或randn函数来产生。例如, R = randn(3,4,5); 生成一个3*4*5的数组,共有3x4x5 = 60个正态分布的随机元素。 三维数组可能表示三维物理数据,譬如房间的温度,取样于一个长方形网格。或者,可表示一个矩阵序列A(k),或依赖时间变化的矩阵A(t)。在

  • 主要内容:1、二维数组,2、初始化二维数组,3、访问二维数组种的元素C# 中同样支持多维数组(也可称为矩形数组),它可以是二维的,也可以是三维的,多维数组中的数据以类似表格(行、列)的形式存储,因此也被称为矩阵。 要创建多维数组,我们需要在声明数组的方括号内添加逗号,例如: int[,] arr=new int[3,3];         // 声明一个二维数组 int[,,] arr=new int[3,3,3];     // 声明一个三维数组  1、二维数组

  • 除了一维数组和二维数组外, Java 中还支持更多维的数组,如三维数组、四维数组和五维数组等,它们都属于多维数组。经过前面一维,二维的练习后不难发现,想要提高数组的维数,只要在声明数组时将索引与中括号再加一组即可,所以三维数组的声明为 int score[][][],而四维数组为 int score[][][][],以此类推。 通常也将二维数组看作是多维数组。本文以三维数组为例来介绍多维数组。 三

  • 问题内容: 我正在处理阵列,需要一些帮助。我想创建一个数组,其中第一个字段是String类型,第二个字段是Integer类型。对于结果: 调出 问题答案: 数组只能具有单个类型。您可以创建一个新类,例如: 您可能还对使用地图感兴趣(在我看来,您好像正在尝试将字符串映射到ID)。 编辑:您还可以定义类型的对象数组,但这是我通常会避免的事情。

  • 主要内容:实例,实例,三维数组,实例多维数组是包含一个或多个数组的数组。 在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。 一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组,依照这种方式,我们可以创建二维或者三维数组。 二维数组语法格式: 以上数组的元素会自动分配键值,从 0 开始: 实例 <?php // 二维数组: $cars = array ( array ( " Vol

  • 问题内容: 我已经看到有关此问题的各种文章,所以我知道可能存在一些答案。但是,阅读这些内容后,我再也不明智。 我有一个像下面的数组。 我只想对这个数组的值做数组求和。 由于以下似乎没有做太多。 问题答案: 只是一种方法: