Hyperledger Fabric区块链运行时核心架构
当然,上图中仅给出了只有一个组织的示例。
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测试网络的目录架构
显然,此测试网络中:
- 仅提供两个Peer组织(org1.example.com和org2.example.com)。
- 为了简单起见,仅配置了一个单节点Raft排序服务:example.com。
- 另外,为了降低复杂性,测试网络中没有部署TLS证书颁发机构(CA)。所有证书都由根CA颁发。
- 示例网络使用Docker Compose部署了一个Fabric网络。因为节点在Docker Compose网络中是隔离的,所以测试网络没有配置为连接到其他正在运行的Fabric节点。
补1:通道的重要作用
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网络中通道和账本是什么关系吗?
每个通道都有一个独立的账本。这意味着,每个通道都有自己的区块链和世界状态,包括命名空间。应用程序和智能合约可以在通道之间进行通信,以访问账本信息。
通道是Fabric网络中的一种通讯机制,类似于消息系统中的发布-订阅(PUB/SUB)中的topic。基于发布-订阅关系,将peer和orderer连接在一起,形成一个个具有保密性的通讯链路(虚拟),实现了业务隔离的要求。通道与账本紧密相关:
- peer可以订阅多个通道,并且只能访问订阅通道上的交易;
- 通道上的数据仅与peer有关,与order无关。
引用资料
https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html