多个主机节点上的Hyperledger Fabric

Hyperledger Fabric/Fabric-samples 安装及使用(Mac) 1.清单 brew Git cUrl docker docker-compose GoLang 2.开始安装 2.1 Git mac自带git,也可自行安装:brew install git 2.2 curl brew install curl 2.3 docker brew install docker 2.4 docker-compose 无需操作,docker安装完成后,也含有了docker-compose 以上安装细节也可自行百度,网上都有^.^ 2.5 GoLang 1& 阅读详情

Hyperledger Fabric是由Linux Foundation托管的业务区块链项目。它是一个“分布式总账解决方案平台,以模块化架构为基础,提供高度机密性,弹性好,灵活性和可扩展性。它旨在支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性和复杂性。“

我开始研究这项技术,作为探索区块链解决方案的PoC的一部分。Hyperledger Fabric有很好的文档,并有详细的入门教程。但是,它错过了分布式系统实现(在多个主机上部署)的最重要指南,这是分布式系统的本质。

是的,没有教程或指南可以帮助你跨多个主机部署网络。许多人在同一问题上围绕不同的论坛挣扎。我决定首先研究现有的样本,以了解超级分类网络的不同组件如何能够在单个主机上进行通信。

先决条件

本教程要求你首先从Hyperledger教程中关注Build You First Network。这是了解它如何连接并在单一主机模式下工作的重要步骤。此外,它还安装了对本教程非常重要的所有必要的先决条件和依赖项。

如果你想跳过上述教程并想要尝试这一点,则必须安装以下所述的所有先决条件:

在我们开始之前,如果你还没有这样做,你可能希望检查你是否已在将要开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了所有先决条件。

你还需要下载并安装Hyperledger Fabric Samples。你会注意到fabric-samples存储库中包含了许多样本。我们将使用第一个网络样本。我们现在打开那个子目录。

在安装了上述先决条件之后,在继续之前,让我们了解网络如何在单个主机上运行…

它如何在单个主机上运行…

Hyperledger Fabric依赖于基于docker的架构,超级分类网络的所有组件都在单独的容器中运行,而不能看到相邻的容器。为了使它们彼此通信,它们创建了一个网络,每个容器都附加到它上面。你可以在fabric-samples repo中“First Network”下的docker-compose-cli.yml中找到它。你会发现在docker-compse-cli.yml文件的开头,创建了网络byfn,然后所有容器都将自己附加到刚刚创建的网络上。

默认情况下,Compose为你的应用设置单个网络。服务的每个容器都加入默认网络,并且该网络上的其他容器都可以访问它们,并且它们可以在与容器名称相同的主机名上发现。

它将如何适用于多主机…

但是当我们跨多个主机工作时,容器无法相互通信。简而言之,我们需要找到一种方法来跨多个主机(PC)共享此网络(所有容器连接到的网络)。我猜测它可以通过使用docker swarm来实现。我找到了:

覆盖网络驱动程序在多个Docker守护程序主机之间创建分布式网络。该网络位于(覆盖)顶部,特定于主机的网络允许连接到它的容器(包括群服务容器)安全地通信。Docker透明地处理每个数据包与正确的Docker守护程序主机和正确的目标容器的路由。然后我的着眼点落在这里。

我开始合并这些碎片并经过一些反复试验,我能够把它拉下来。要做到这一点,你需要

  • 首先初始化docker swarm模式(假设在PC 1上)。
  • 并使所有其他主机加入该群体作为manager(让我们说PC 2,PC3 …)。
  • 创建一个超级网络,以便它可以在所有其他主机上共享。(其他主机可以看到网络的原因是它们是群组的一部分)

由于这是一个分布式系统,因此你需要多个主机(在我们的示例中为两台计算机)来验证该技术的分布式特性。假设你有两台PC,即PC1和PC2。

本教程仅适用于Linux,为什么?

目前,你无法单独使用Docker for Mac或Docker for Windows来测试多节点群。

网络拓扑结构

因此,我们要构建的网络将具有以下组件。对于这个例子,我们使用两台PC(PC1和PC2):

    1. 证书颁发机构(CA)—— PC1
    1. Orderer —— PC1
    1. 1 PEER(peer0)on —— PC1
    1. 1 PEER(peer1)on —— PC2
    1. CLI on —— PC2

在拓扑图里:

在你开始之前

  • 初始化一个群:( docker swarm文档获取更多信息)
$ docker swarm init
  • 加入swarm与其他主机作为经理(PC1将创建swarm,PC2将加入它)

PC1:

$ docker swarm join-token manager

它会输出这样的内容:

docker swarm join — token SWMTKN-1–3as8cvf3yxk8e7zj98954jhjza3w75mngmxh543llgpo0c8k7z-61zyibtaqjjimkqj8p6t9lwgu 172.16.0.153:2377

我们将复制它(终端上的那个,而不是上面的那个)并在PC2终端上执行它以使其加入PC1

在PC2上使用上一个命令的输出命令

  • 创建一个网络(在我的情况下为my-net)——PC1
$ docker network create --attachable --driver overlay my-net
  • 在两台PC上克隆这个repo,即PC1和PC2。
$ git clone https://github.com/wahabjawed/Build-Multi-Host-Network-Hyperledger.git
  • 生成网络工件(加密资源)——PC1
$ cd Build-Multi-Host-Network-Hyperledger/

$ ./bmhn.sh

这将在crypto-config和channel-artifacts文件夹中为你生成网络工件。你必须在PC2上复制这些文件夹,以便两个项目都具有相同的加密资源。重要的是,两台PC必须具有相同的加密资源,否则网络将无法通信。

设置网络

Hyperledger Fabric 部署在多个主机上 前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council 组织运行维护 Raft 协议的三个 orderer 节点。但目前我们都是在单个主机上启动 Fabric 网络,本文将尝试将 Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务 中的网络结构部署在多个主机上。 工作准备 本文工作 将 Hy 阅读详情

相关推荐

Hyperledger Fabric 2.x 多机部署/分布式集群部署流程

硬件环境:CentOS7虚拟机一台,Ubuntu虚拟机一台,一共两台主机,有条件的小伙伴可以试一下在3台以上的主机部署。 软件环境: 名称 版本 Fabric 2.2.0 go 1.14.4 docker 19.03.11 docker-compose 1.12.0 1.IP与域名映射配置 本文通过静态IP的方式实现Hyperledger Fabric多机部署 通过修改/etc/hosts文件 添加IP地址与域名的映射 修改/etc/hosts文件指令 sudo vim /e

GniLAY1022的博客 1万+

基于Docker Swarm Mode搭建Hyperledger Fabric V1.0多主机区块链平台

这是一篇简要翻译的文章,亲测有效,因为目前关于搭建多主机hyperledger fabric的文章除了像 深蓝居 (http://www.cnblogs.com/studyzy/tag/Fabric/) 大神使用官方的 e2e_cli 代码进行部署外,其他并没有见到别的什么方式。这篇博客获得了不少的✨,所以自己搭了一遍,当然做这个的直接看原链接就可以,就当留个笔记。原文地址链接: https://...

何松林的专栏 2258

超级账本 Hyperledger Fabric2.0 多机集群部署

基于Raft排序的Fabric2.0 多机集群部署教程基于Raft排序的Fabric2.0 多机集群部署教程1、用Raft排序服务启动byfn示例2、Hyperledger Fabric多机部署的不同方案3、Fabrc2.0 Raft多机演示环境搭建4、Fabric Raft多机演示4.1 准备主机4.2 使用Docker Swarm构建叠加网络功能快捷键合理的创建标题,有助于目录的生成如何改变文...

qq_35285779的博客 3328

fabric多机部署配置文件

将orderer文件夹下的base、channel-artifacts和crypto-config文件夹复制到各peer节点中即可。

ESP32锂电池电量检测实战:从引脚选择到低功耗优化(附完整电路图)

本文详细介绍了ESP32锂电池电量检测的实战方案,从ADC引脚选择到低功耗优化,提供完整的电路图和代码实现。通过MOS管智能开关和深度睡眠技术,显著降低静态功耗至0.5μA,提升设备续航能力。适合物联网开发者解决电量检测中的常见问题。

weixin_28731223的博客 459

Vivado2023.2与Vitis协同开发:从Hello World到BOOT.BIN的完整流程解析

本文详细解析了使用Vivado 2023.2与Vitis协同开发ZYNQ/MPSoC平台的完整流程。从环境安装、硬件设计、软件编写、在线调试到生成独立的BOOT.BIN启动文件,手把手指导开发者完成从Hello World到系统固化的全步骤,并提供了常见问题的避坑指南,帮助初学者快速掌握软硬件协同开发的核心技能。

weixin_29197051的博客 176

ESP32-S3射频测试与全球认证全栈实践指南

功率谱密度(PSD)和发射功率等级是无线通信设备射频合规的核心基础概念,其物理层原理直接决定自适应测试、阻塞容限及多国认证的通过路径。PSD ≥10 dBm/MHz触发强制性自适应测试,需验证LBT机制与跳频鲁棒性;而16级可编程发射功率等级(-24 dBm至+20 dBm)则为功耗、覆盖与法规平衡提供工程调控维度。该能力广泛应用于低功耗蓝牙IoT终端、智能家居网关及工业无线传感器等场景,尤其在ESP32-S3平台中,需结合eFuse校准、Sigma工具链与QuickTrack认证策略实现从实验室调试到量产

weixin_34945060的博客 285

Conda环境创建报错?教你快速解决Solving environment: failed和ResolvePackageNotFound问题

本文深入解析Conda环境创建中常见的'Solving environment: failed'和'ResolvePackageNotFound'报错原因,并提供从基础到高级的系统化解决方案。涵盖渠道配置、版本通配、环境文件编辑等实用技巧,帮助开发者快速解决conda环境创建问题,提升工作效率。

weixin_28677451的博客 258

LMX2595实战:手把手教你配置JESD204B时钟与SYSREF(含相位同步避坑指南)

本文详细介绍了LMX2595在JESD204B时钟系统中的配置与优化方法,包括时钟系统架构设计、相位同步配置、SYSREF生成技巧以及PCB布局规范。通过实战案例和避坑指南,帮助工程师充分发挥LMX2595的超低相位噪声和抖动性能,确保高速数据转换器系统的稳定性和同步精度。

weixin_29206669的博客 478

在 Fiori Elements Object Page 的表格中用 UI.Hidden 隐藏列:语义、边界与落地实践全解析

摘要: Fiori Elements的Object Page表格中,UI.Hidden注解支持静态和动态隐藏列。动态隐藏分为两种:基于父实体属性隐藏整列,或基于子实体属性按行隐藏单元格。关键约束包括:支持服务端操作的列禁止使用动态隐藏,否则会导致UX不一致。ABAP CDS不支持路径式UI.Hidden,需改用XML注解。该功能需与UI.Importance、个性化等机制明确区分,避免混淆。对于可能参与排序/过滤的列,建议仅使用静态隐藏。实际应用中需注意注解位置(整列或单元格级)和业务场景的匹配。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 204

华为用自研的MetaERP替换全球顶级的SAP ERP系统,其难度与风险远超一次普通的技术升级,它是一场战略级的、涉及业务筋骨的系统性工程

华为成功用自研MetaERP替换SAP系统,这是一项极具挑战的战略工程。面临四大难度:业务复杂度高(170多国业务)、数据迁移量大(20年历史数据)、技术集成复杂(重构生态系统)、人员适应周期长。同时伴随四大风险:业务中断、数据失真、成本超支、供应链协同问题。华为成功的关键在于:生存压力驱动的战略决心、强大的软件研发能力、以自身业务为试验场、分步实施策略。这一案例证明中国企业能攻克高端软件壁垒,但对大多数企业而言,核心系统替换需谨慎评估风险,建议采用渐进式替代策略。

金牌架构师 535

OpenCv —— 检测车牌号(附完整源码)

OpenCv —— 检测车牌号

5598

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 你也可以构建私有区块链网络
下一篇: 以太坊和Hyperledger Fabric之间的差异
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值