将新对等点添加到超级账本结构组织中需要采取哪些步骤?

2023-12-20

我正在学习使用 Hyperlegder Fabric 构建网络,因为我已经使用 Hyperledger Composer 开发了一个网络,下一步是构建生产网络。我已经开始构建第一个网络示例并开始工作。我已经添加了 Org3 和 2 个对等点来进行采样,并且它可以工作。

现在我想添加更多对等点,例如peer2.org1.example.com,因此我编辑了文件以创建peer2并创建了它,但是当script.sh尝试加入频道时,它会启动错误:

错误:获取背书者客户端通道时出错:PER:404 - 尝试连接到本地对等方时出错 原因:x509:证书对peer1.org1.example.com、peer1有效,对peer2.org1.example.com无效

那么,我到底做错了什么?谢谢


当您向网络添加新对等点时,您需要确保正确设置为该新对等点下划线的所有相关加密材料。首先确保将有关新对等点的信息添加到crypto-config.yaml文件并使用cryptogen为新对等点生成密钥和证书的工具。接下来,您需要在启动对等点之前设置配置以指向相关的加密材料,例如 org2 的对等点 0 的配置:

  peer0.org2.example.com:
    container_name: peer0.org2.example.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer0.org2.example.com
      - CORE_PEER_ADDRESS=peer0.org2.example.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051

它是从哪里继承的base/peer-base.yaml file:

services:
  peer-base:
    image: hyperledger/fabric-peer
    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}_byfn
      #- CORE_LOGGING_LEVEL=ERROR
      - 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
      - CORE_PEER_LOCALMSPID=Org2MSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls

    ports:
      - 9051:7051
      - 9053:7053

最后,您需要确保配置正确的 MSP ID 和 tls 证书路径。在您的情况下,您的新对等点只是尝试重用另一个对等点的加密材料。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将新对等点添加到超级账本结构组织中需要采取哪些步骤? 的相关文章

随机推荐

  • Java:递增/递减运算符的前缀/后缀

    从下面的程序或here http download oracle com javase tutorial java nutsandbolts examples PrePostDemo java 为什么最后一个调用System out pri
  • 如何移动 JPanel

    我有一个JDialog其中包含JPanel和其他元素 例如JTextField 我想搬家JDialog加载到屏幕上后从一个位置到另一个位置 当我尝试使用时jdialog setLocation 我无法动弹JDialog并且添加到其中的所有其
  • 多个使用者和查询 C# BlockingCollection

    我使用 NET 4 0 BlockingCollection 来处理一个项目队列 每个项目都需要通过一个操作来处 理 该操作最多需要一秒钟来处理每个项目 该项目队列可以由不同的线程添加到该队列中 我对此有几个问题 a 允许多个消费者处理此
  • 如何确定某个日期是否位于当前星期的日期之间?

    In C 我们如何检查特定日期与周内日期 例如 2014 年 6 月 2 日 当前几周 2014年2月2日 2014年2月8日 所以这个日期是在上周 使用它进行检查 如果您希望从 fromDate 开始始终是 1 周 则最后一个参数是可选的
  • 消除 BigQuery 表中的重复记录

    我计划每天将增量数据附加到 BigQuery 表中 每次我向现有表添加增量数据时 我都想从表中的现有数据中消除重复记录 基于主键列 一种方法是 从增量数据中收集密钥集 我们称其为INCR KEYS 对以下行运行查询 SELECT all c
  • 将 mkv 转换为 h264 FFmpeg

    EDIT 这个问题已经变得非常流行 并且是搜索 convert mkv to h264 ffmpeg 的最佳结果之一 因此我认为对于任何偶然发现这个问题的人来说 添加这一点是适当的 而不是使用 ffmpeg i input mkv c v
  • C# Outlook 2007 - 如何直接从我的插件访问附件内容?

    我正在尝试解析基于文本的文件附件 txt doc 等 但是 我似乎无法获取二进制信息本身 我可以获取文件名 也可以将文件保存到某个临时文件夹并从那里打开它 但这看起来很混乱 有没有什么方法可以访问附件的内容而不保存它 阅读它 然后删除它 或
  • 使用 Visual Studio 管理源代码管理中的引用

    我在 Visual Studio 项目中管理 dll 引用时遇到问题 所有注册的 NET 和 COM 引用都工作正常 但当涉及磁盘上的 dll 文件时 如果我引用磁盘上的文件 我的同事将丢失引用 因为他们可能将其放在磁盘上的不同位置等 Vi
  • 如何使用layoutIfNeeded?

    何时以及如何layoutIfNeeded用过的 我知道当我们改变视图的布局时 我们可以调用setNeedsLayout更新布局但不确定何时layoutIfNeeded应该使用 注意 我有layoutIfNeeded在实际代码中使用但忘记了它
  • 无法在iOS中将统一的CNContact添加到CNGroup中

    这就是我正在做的 void doCreateGroup self contentView endEditing true NSString newString self contentView groupNameField text str
  • 检索 SQLite 中所有项目的最快方法是什么?

    我在 Windows 上编程 我将信息存储在 sqlite 中 然而我发现获取所有物品有点慢 我正在使用以下方式 select from XXX 检索 1 7MB SQLite DB 中的所有项目大约需要 200 400 毫秒 太慢了 有人
  • 在 NodeJS 中可靠地读取 FIFO

    我正在编写一个与第三方应用程序交互的 NodeJS 脚本 第三方应用程序将在文件打开期间将数据写入文件 我希望我的 NodeJS 应用程序能够实时接收这些数据 我的脚本创建一个 fifo child process spawnSync mk
  • 在 C++ 中从 WMI(Win32_LogicalDisk 类)调用 Chkdsk ->“参数无效”

    我正在尝试从 C 中的 WMI 运行 Chkdsk 我正在使用 Qt Framework ExecMethod 返回 参数无效 我已经根据设置参数http msdn microsoft com en us library cc250766
  • 如何获取隐藏父元素的大小?

    1 4 4 返回隐藏元素的大小 但是另一个隐藏元素中的元素呢 除了 getWidth 还有更好的解决方案吗
  • SqlAlchemy:如何实现 DROP TABLE ... CASCADE?

    我需要删除 PostgreSQL 数据库中具有外键约束并且需要的表DROP TABLE CASCADE 我可以执行原始 SQL engine execute DROP TABLE s CASCADE table name 但是 我想实现这种
  • 尝试在 r 中运行 glmer 时出现警告消息

    目前 我正在尝试在最新版本的 R 和 lme4 上重新运行旧的数据分析 二项式 glmer 模型 从 2013 年初开始 因为我不再有旧版本的 R 和 lme4 但是 我遇到了与 dmartin 和 carine 之前的线程 第一条警告消息
  • Bundle.main.path(forResource... 查找 xml 文件时总是返回 nil

    我正在尝试从我的包中读取文件 我知道以前有人问过这个问题 但我已经阅读了其他解决方案 但其中似乎不符合我的情况 我有一个 XML 文件 我可以在项目导航器中看到它 我还可以通过转到项目 构建阶段 复制捆绑资源来检查它是否包含在捆绑包中 我尝
  • 从 Azure ACS 下载登录页面后,如何使返回 URL 再次正常工作?

    Azure 培训工具包包括一个名为 IntroToACS2 的实验室 在其中创建一个 WebRole 并启用 ACS 以便您可以使用 Google Live 或 Yahoo ID 登录 本实验的第二部分将引导您完成从 ACS 下载示例登录页
  • gcc/ld:动态链接中的 -Wl、-rpath 是什么?静态链接中的 -l 是什么?

    对于 my dir path foo a 和 my dir path bar a 要使用 gcc g 静态链接 可以使用 L指定包含静态库的目录和 l指定库的名称 在这种情况下 人们会写gcc L my dir path lfoo lbar
  • 将新对等点添加到超级账本结构组织中需要采取哪些步骤?

    我正在学习使用 Hyperlegder Fabric 构建网络 因为我已经使用 Hyperledger Composer 开发了一个网络 下一步是构建生产网络 我已经开始构建第一个网络示例并开始工作 我已经添加了 Org3 和 2 个对等点