首页 > 编程语言 >关于Hyperledger Fabric区块链中的测试网络

关于Hyperledger Fabric区块链中的测试网络

时间:2023-10-14 21:04:51浏览次数:39  
标签:Fabric 网络 链中 测试 Peer Hyperledger 节点 通道

Hyperledger Fabric区块链运行时核心架构

关于Hyperledger Fabric区块链中的测试网络_Docker


当然,上图中仅给出了只有一个组织的示例。

Fabric网络中测试网络的重要作用有哪些?

在Fabric网络中,测试网络的重要作用主要包括以下几点:

  • 学习和了解Fabric:通过测试网络,可以帮助初学者和开发者更深入地了解Fabric的基础架构、运行机制以及相关技术,例如智能合约、背书、排序服务等。
  • 测试和验证:开发者可以使用测试网络来测试和验证他们的智能合约和应用,检查其正确性、效率和性能等,从而为实际部署生产环境做好充足的准备。
  • 教育:测试网络可以作为Fabric的教学工具,为开发者提供实际操作的环境和机会,帮助他们更好地掌握Fabric的相关知识和技能。

需要注意的是,尽管测试网络对于Fabric的学习和开发非常重要,但它并不适合作为生产环境的网络模型。在2.0版本后,测试网络已经取代了原来的"first-network"。

Fabric网络中测试网络的架构是怎样的?

在Fabric网络中,测试网络的架构可以分为以下几个层次:

  • 网络层:由多个分布式节点组成,这些节点构成了一个p2p的网络,采用Gossip协议进行节点间互相发现和数据传输,并采用gRPC的框架互相调用接口功能。
  • 核心层:共识机制是区块链系统的核心模块,它确保各个节点对数据达成共识。
  • 服务层:该层提供了各种服务,例如:管理、身份验证、策略管理等。
  • 接口层:该层提供了与应用程序进行交互的接口。

此外,Fabric测试网络还提供了多个工具和SDK,以便开发者可以方便地构建和测试他们的智能合约和应用。


官方教程关于Fabric测试网络的声明

下载Hyperledger Fabric Docker映像和示例后,可以使用Fabric示例存储库中提供的脚本部署测试网络。测试网络是通过在本地机器上运行节点来学习Fabric网络的。开发人员可以使用此测试网络来测试他们的:[1]智能合约;和[2]应用程序。

注意:该网络仅用于教育和测试工具,而不是如何建立网络的模型。一般来说,不鼓励修改脚本,这可能会破坏网络。它基于一个有限的配置,不应用作部署生产网络的模板!


  • 它包括两个Peer组织和一个排序组织。
  • 为了简单起见,配置了唯一的一个单节点Raft排序服务。
  • 为了降低复杂性,没有部署TLS证书颁发机构(CA)。所有证书都由根CA颁发。
  • 示例网络使用Docker Compose部署了一个Fabric网络。因为节点在Docker Compose网络中是隔离的,所以测试网络没有配置为连接到其他正在运行的Fabric节点。

要了解如何在生产中使用Fabric,请参阅官方文档部署生产网络

注意:上述这些说明已经过验证,可以针对最新稳定的Fabric Docker映像和所提供的tar文件中的预编译安装实用程序进行工作。

官方教程中Fabric测试网络的目录架构

关于Hyperledger Fabric区块链中的测试网络_Fabric_02

显然,此测试网络中:

  • 仅提供两个Peer组织(org1.example.com和org2.example.com)。
  • 为了简单起见,仅配置了一个单节点Raft排序服务:example.com。
  • 另外,为了降低复杂性,测试网络中没有部署TLS证书颁发机构(CA)。所有证书都由根CA颁发。
  • 示例网络使用Docker Compose部署了一个Fabric网络。因为节点在Docker Compose网络中是隔离的,所以测试网络没有配置为连接到其他正在运行的Fabric节点。


补1:通道的重要作用

关于Hyperledger Fabric区块链中的测试网络_测试网络_03

Hyperledger Fabric网络中通道的重要作用是实现数据隔离,保护数据隐私。

通道是Hyperledger Fabric网络中的一种通讯机制,根据不同的实际情况将多个指定的组织结合在一起,形成一个只有已加入的组织成员才可以访问的"子网",从而实现对数据隔离性及隐私性的保护。通道提供了联盟成员之间进行私有通信和私有数据的机制,提供了与其他通道以及整个网络的隐私性。

补2:为什么Fabric网络中有一个Ordering组织?

在Hyperledger Fabric网络中,Ordering服务是必要的组件之一,它负责将交易按照到达的顺序打包成区块,并将区块分发给所有的组织节点进行共识。这种服务可以确保所有节点都能够按照相同的顺序处理交易,从而避免了因为不同节点处理交易顺序不同而导致的分歧。

此外,Ordering服务还负责维护通道的秩序,确保所有交易都按照正确的顺序进行排序和打包,以避免因为交易冲突而导致的错误。因此,Ordering组织在Fabric网络中扮演着非常重要的角色,是Fabric网络正常运行的重要保障。

补3:Fabric网络中“Peer”如何翻译最恰当?

在Hyperledger Fabric网络中,"Peer"可以翻译为“对等节点”或“对等端”。

Fabric是一个分布式账本平台,其中包含许多节点,这些节点在网络中扮演着不同的角色。其中,"Peer"是Fabric网络中的一种重要节点类型,它负责维护账本状态和执行交易。

在Fabric中,"Peer"通常是指一个组织内的成员节点,这些节点与组织内的其他节点进行交互和协作,共同维护网络的一致性和安全性。因此,"Peer"可以翻译为“对等节点”,表示在网络中与其他节点平等交互的节点。

另外,"Peer"也可以翻译为“对等端”,表示在网络中的端点或节点,与其他节点进行通信和交互。这个翻译强调了节点的平等性和交互性,更加直观地表达了节点的功能和作用。

总之,"Peer"可以翻译为“对等节点”或“对等端”,具体翻译可以根据上下文和使用场景来选择。

补4:Fabric网络中通道和账本是什么关系吗?

在Hyperledger Fabric网络中,通道和账本有密切的关系。

每个通道都有一个独立的账本。这意味着,每个通道都有自己的区块链和世界状态,包括命名空间。应用程序和智能合约可以在通道之间进行通信,以访问账本信息。

通道是Fabric网络中的一种通讯机制,类似于消息系统中的发布-订阅(PUB/SUB)中的topic。基于发布-订阅关系,将peer和orderer连接在一起,形成一个个具有保密性的通讯链路(虚拟),实现了业务隔离的要求。通道与账本紧密相关:


  • peer可以订阅多个通道,并且只能访问订阅通道上的交易;
  • 通道上的数据仅与peer有关,与order无关。


引用资料

https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html


标签:Fabric,网络,链中,测试,Peer,Hyperledger,节点,通道
From: https://blog.51cto.com/zhuxianzhong/7863133

相关文章

  • Hyperledger Fabric 2.5.4开发之通道篇[1]
    本人坚信HyperledgerFabric3.0正式版本的发布日益临近,很多组件中的内容都要进行相应调整,即使针对当前最新的2.5.4版本。但通道这一块,至少在3.0版本中是不会发生改变的。一、通道简介在HyperledgerFabric联盟链中的组织之间要想进行资产交互操作,这些组织必须加入到一个通道中。可......
  • 记录--Vue3 + Fabricjs 定制国庆专属头像
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助生在国旗下,长在春风里!国庆将至,采黎为大家带来定制头像2.0(国庆头像),让我们用代码的形式为祖国庆生!欢迎大家点赞收藏加关注哦前言想看效果或者想定制春节头像的小伙伴请直奔效果区域;想一睹定制头像2.0小工具的......
  • 【Hyperledger Fabric】Fabric 2.2 手动安装
    本文内容介绍在Centos7.9系统下手动安装v2.2版本Fabric的过程。相关过程配置可参考fabric-samples截至2023.09,HyperLedgerFabric最新长期支持版本是v2.5,其次是v2.2和v1.4。下一待发行版本是v3.0,v3.0将提供了基于SmartBFT共识库的BFT排序服务,是继v1.4版本之后(v2.x版本仅提供......
  • Hyperledger Fabric 2.5.4开发之证书管理指南
    前提条件¶以下关于身份、会员服务提供商(MSP)和证书颁发机构(CA)的Fabric文档资源为理解证书管理提供了上下文:身份(Identity)MSP注册和登记(RegistrationandEnrollment)注册身份登记身份关键概念¶注册(Register)用户名和密码对,存储在证书颁发机构(CA)中。此注册由CA管理员用户创建,没有过期,......
  • Hyperledger Fabric 2.5.4开发之身份(Identity)
    什么是身份?¶区块链网络中的不同参与者包括Peer节点、排序节点、客户端应用程序、管理员等。这些参与者中的每一个——能够消费服务的网络内外的活动元素——都有一个封装在X.509数字证书中的数字身份。这些身份确实很重要,因为它们决定了参与者在区块链网络中对资源和信息的确切权......
  • Hyperledger Fabric 2.5.4开发之“定义功能需求”问题
    说明本文描述了一个不再使用“系统通道”的网络(以前该通道由排序服务引导,并且由排序服务专门控制)。自Fabricv2.3发布以来,在创建通道的过程方法中,使用系统通道现在被视为遗留方案。在通道配置(在通道的最新配置区块中找到)中,可以为每个通道定义功能需求。通道配置包含三个位置,每个位......
  • Hyperledger Fabric开发之启动CouchDB作为状态数据库
    测试环境MacCatalinaDockerDesktop3.6.0HyperledgerFabric2.5.4CouchDB3.3.2简单分析当前版本的Fabric2.5.4默认支持的LevelDB仅能够实现存储简单的键值对数据,并且LevelDB与Peer节点并存于同一个操作系统进程中。CouchDB适用于存储JSON文件,并支持富查询和对更多数据类型的操......
  • Fabric 2.x 智能合约开发记录
    表象:Returnschemainvalid.requireditemsmustbeunique[recovered]虽然Fabricv2.2已经发布了很久了,但之前因为项目历史问题,一直使用的都是Fabricv1.4.8,所以智能合约也一直使用的都是github.com/hyperledger/fabric/core/chaincode/shim包。在合约开发过程中,我一般......
  • Fabric 2.X链码生命周期图解
    本文较全面介绍Fabric2.X开发中链码的生命周期全过程,并辅以图解。然后,总结了链码部署的典型场景。本文结论适合于从Fabric区块链从2.0到截止目前最新的2.5的各个版本。链码(Chaincode)是什么?链码(Chaincode),也称智能合约(是Ethereum区块链中的典型称呼),是一个用Go、Node.js或Java编写的......
  • HyperLedger Fabric基础:搭建Fabric测试网络(三)
    在本系列第二篇中,我们介绍了如何创建通道与在通道上启动链码的问题。本篇将探索如何使用Peer客户端与区域链网络通信。启动测试网络后,可以使用Peer节点CLI与网络进行交互。Peer节点CLI允许您从CLI调用已部署的智能合约、更新通道或安装和部署新的智能合约。确定当前我们仍处于test-......