Hyperledger Fabric是一款专业的分布式账本。非常好用的分布式账本管理工具Hyperledger Fabric。对于块链业务开发,您可以帮助企业建立块链业务管理平台,可以管理支持企业开发,管理软件查询类别的事务,管理订单,管理资产,管理和管理。帐户,支持历史数据,支持创建交易平台,帮助开发人员快速构建符合业务的业务需求的块链管理系统,如果您使用块链办公室,可以使用此框架开发相关的业务管理如果您需要这个软件,可以部署系统,组合软件插件,组件,API和其他资源!
软件功能:
Hyperlowger Fabric是一个用于分布式会计解决方案的平台,可提供高度的机密性,灵活性,灵活性和可扩展性。它旨在支可插拔的不同组件的实现,并适应整个经济生态系统的复杂性和复杂性。
超载杂志面料提供了独特的弹性和可扩展的架构,可与其他块链解决方案区分。规划企业块链的未来应通过全面审查在开源架构的基础上构建。超载杂志是你的起点。
Hyperlowger Fabric是一个开源企业许可证分布式小册子技术(DLT)平台,该平台专为企业环境而设计,与其他流行的分布式书籍或块链平台相比,提供了一些关键区别。
差异化的一个关键点是在Linux基础下建立了超载手。它本身历史悠久。它在公开治理下培养了开源项目。这些项目制定了强大的可持续社区和繁荣。系统。超载手由多元化的技术指导委员会管理,由多元组织的多元化维护人员管理,超铅球面料。自其最早建立以来,其发展社会已开发为35多个组织和近200名开发人员。
面料具有高度模块化和可配置的架构,可创新,多功能和优化,为广泛的工业用途实例,如银行,金融,保险,医疗保健,人力资源,供应链甚至数字音乐交付。
Fabric是第一个分布式分类平台,支持以通用编程语言编写的智能合同(例如Java,Go和Node.js)而不是约束区域(DSL)。这意味着大多数公司都有开发智能合同所需的技能,并且不需要额外的培训来学习新的语言或DSL。
织物平台也许可,这意味着参与者与公共未经许可的网络未经授权,而不是匿名,所以它是完全不值得信任的。这意味着虽然参与者可能无法完全信任另一方(例如,他们可能是同行业的竞争对手),但网络可以在治理模型下运行,治理模型基于参与者之间的实际信任。建立,如法律协议或争端框架。
官方教程:
使用结构测试网络
下载超载符合的结构磁盘映像和示例后,您可以使用Fabric-Samples存储库中提供的脚本部署测试网络。提供测试网络是通过在本地计算机上运行节点来了解结构。开发人员可以使用网络测试其智能合同和应用程序。该网络只能用作教育和测试的工具,不能用作ES的模型
制作网络。通常,建议不要修改脚本,否则网络可能会破坏。它基于有限的配置,不应用作部署生产网络的模板:
它包括两个同行组织和订阅组织。
为简单起见,配置了单节点RAFT订阅服务。
为了降低复杂性,未部署TLS认证机构(CA)。所有证书都由根CA发布。
此示例网络使用Docker Compose部署Fabric网络。由于节点在Docker撰写网络中孤立,因此测试网络未配置为连接到正在运行的其他结构节点。
要了解如何在生产中使用结构,请参阅部署生产网络。
注意:已经验证了这些描述,以便在Tar文件和预编译的设置实用程序中使用最新的稳定结构Docker图像。如果使用当前主站中的图像或工具运行这些命令,则可能遇到错误。
在你开始之前
在运行测试网络之前,您需要克隆结构样本存储库并下载结构图像。确保已安装和安装先决条件,二进制文件和Docker映像。
注意:测试网络已由Docker Desktop 2.5.0.1版成功验证,并是当前推荐的版本。更高版本可能无法正常工作。
建立测试网络
您可以找到用于在Fabric-Samples存储库目录测试网络中启动网络的脚本。使用以下命令导航到测试网络目录:
CD织物样品/测试网络
在此目录中,您可以找到一个免费的脚本,network.sh此脚本在本地计算机上使用Docker Image站在织物网络上。您可以运行脚本帮助文本:./ network.sh -h
从测试网络目录,运行以下命令以从前一个运行中删除任何容器或工件:
./neetwork.sh down.
然后,您可以通过发出以下命令启动网络。如果您尝试从另一个目录运行脚本,则会遇到问题:
./neetwork.sh Up.
此命令创建由两个对等节点(订阅节点)组成的结构网络。您不会在运行时创建任何频道,但我们将在将来的步骤中实施。如果命令已成功完成,您将看到正在创建的节点的日志:./ network.sh向上
测试网络组件
部署测试网络后,可能需要一些时间来检查其组件。运行以下命令以列出在计算机上运行的所有Docker容器。您应该看到此Network.sh脚本创建的三个节点:
Docker PS -A
每个节点和用户与结构网络交互必须属于参与网络的组织。测试网络包括两个对等组织,ORG1和ORG2。它还包括一个维护网络订购服务的单个用户组织。
对等体是任何结构网络的基本组件。等分类存储区域块链子句帐户并在将事务提交到分类帐户之前验证它。等效运行包含业务逻辑的智能合同,用于管理块链分类帐户的资产。
网络中的每个对等体必须属于组织。在测试网络中,每个组织都操作对等体,peer0.org1.example.com和peer0.org2.example.com。
每个结构网络还包括订阅服务。当等效验证事务并将事务块添加到块链分类帐户时,它们不确定事务所在或包含在新块中的顺序。在分布式网络上,对等体可能远离彼此,并且对创建事务的时间没有公共视图。在交易订单中达成共识是一个昂贵的过程,这将提供平等的顺序。
订阅服务允许相当于侧重于验证事务并将其提交给分区。在订购节点接收到客户批准的事务之后,它们在事务顺序中达成共识,然后将其添加到块中。然后将这些块分发给对等节点,对等节点添加到块链分类帐户。
示例网络使用订户操作的单节点RAFT订阅服务。您可以看到计算机上运行的订单节点Order.Example.com。虽然测试网络仅使用单个节点订购服务,但生产网络将具有由一个或多个订阅者运行的多个订单节点。不同的排序节点将使用RAFT共识算法在网络上交易序列达成协议。
渠道
现在,我们的机器是
运行点对点节点和订户节点,我们可以使用此脚本在ORG1和ORG2之间创建结构频道。信道是特定网络成员之间的专用通信层。该通道只能由邀请到通道的组织使用,并且对网络的其他成员不可见。每个通道都有一个单独的块链类。受邀组织将自己的“加入”通道置于存储频道分类帐户并验证通道上的通道。
您可以使用Network.sh脚本在ORG1和ORG2之间创建频道并将其添加到通道。使用以下命令使用默认名称创建通道MyChannel:
./neetwork.sh createchannel.
如果命令已成功执行,则可以在日志中看到以下消息:
=========通道成功加入===========
您还可以使用通道标志使用自定义名称创建频道。例如,以下命令将创建一个通道通道1:
./neetwork.sh createchannel -c channel1
通道徽标还允许您通过指定不同的频道名称来创建多个通道。创建MyChannel或Channel1后,您可以使用以下命令创建另一个通道Channel2:
./neetwork.sh createchannel -c channel2
如果要逐步创建网络并创建频道,则可以使用UP和CreateChannel模式:
./network.sh上升Createchannel.
频道配置(CONFIGTX)
笔记
本主题介绍如何在不允许块使用系统通道时配置通道。有关配置结构的信息,包括系统通道,请从V2.2文档查看通道配置(CONFIGTX)。
Hyperlowger Fabric块链网络的共享配置存储在每个通道中的集合配置事务中。通常,每个配置事务使用参考ConfigTX参考。
频道配置具有以下重要属性:
1.验证:配置的所有元素都有关联版本,并且每个修改都将升级。此外,每个提交的配置收到序列号。
2.允许:配置的每个元素都有一个关联的策略,可以控制是否允许元素修改。任何具有以前的ConfigTX复印件(且没有其他信息)的人都可以根据这些策略验证新配置的有效性。
3.层次结构:根配置组包含子组,每个层次结构组都有关联的值和策略。这些策略可以从较低策略的第一级出口战略中使用等级裁决。
配置分析
在块中配置事务存储HeaderType_Config,没有其他事务。这些块称为配置块,第一个被称为Genesis块。
用于配置的原型结构存储在Fabric-protos / common / configtx.proto中。 Envelope HeaderType_config的类型将ConfigEnvelope消息编码为有效载荷数据字段。 Prototype ConfigenVelope定义如下:
Last_update字段在下面的“更新”部分中定义,但仅在未读取验证配置时才需要。相反,将当前提交的配置存储在包含配置消息的字段中。
序列将增加每个提交的配置。 Channel_Group字段是包含配置的根组。 ConfigGroup结构由递归定义并构建数据包树,每个数据包包含
价值观和策略。它定义如下:
由于ConfigGroup是递归结构,因此存在分层结构。为了简化GO语法,表示以下示例。
每组在配置层次结构中定义一个级别,每个组都具有一组关联值(通过字符串键索引)和策略(也由字符串键组织)。
请注意,值,策略和组中存在版本和Mod_policy。每次修改组件时,版本元素的版本都会递增。 mod_policy用于管理要修改元素的所需签名。对于组,在“值”,策略或组映射中添加或删除要素(或更改Mod_policy)的修改。对于“值”和“策略”,修改“值”和“策略”字段(或更改Mod_policy)。 mod_policy在配置的当前级别的上下文中评估每个元素。考虑示例Mod策略频道.groups [“应用程序”(这里,我们使用Go Map引用语法,因此Channel.Groups [“应用程序”。策略[“Policy1”]是分支机道组PoliciesMap的应用组Policy1战略。)
policy1映射到channel.groups [“应用程序”。政策[“policy1”]
/ policy2映射到channel.groups [“应用程序”。组[“ORG1”]。政策[“policy2”]
/ channel / policy3地图到channel.policies [“policy3”]
注意,如果不存在mod_policy引用,则无法修改项目。
新的功能
更高的隐私:由于所有订购节点已被添加到系统通道中,网络中的每个订单节点都知道订购服务上的每个通道的存在。现在,订购节点仅知道您加入的通道。
可伸缩性:当系统通道上定义大量订购节点时,订购节点需要很长时间才能在所有成员频道上达成共识。现在,可以通过将订购节点散射到特定信道来水平扩展订购服务。
营业收入
向频道添加订阅节点的简单过程。
列出订购节点通道的能力同意。
从订购节点删除通道的简单过程,过程会自动清除与通道关联的模块。
对等组织可以在不与系统通道的管理员协调的情况下创建或更新其MSP。
分类
快照现在可以是对等通道信息(包括其状态数据库)的快照,并根据快照添加新的对等体(在同一组织或不同组织中)。
使用以下优势使用分类账单:
自从我创建以来,我创建了所有块:因为我找到了一段段落,我的对等体可以加入通道而不处理所有预块,从而大大减少对现有通道的访问。时间拍摄。
另一个可以使用最新的通道配置加入通道:由于快照包含最新的通道配置,现在对等体现在可以使用最新的通道配置加入通道。如果更新关键信道配置(例如用户端点或TLS CA证书),则尤其重要。
降低存储成本:由于生成块,因此不会通过维持所有块的存储成本来产生对等的对等体。
状态检查点:对等管理员可以快速比较当前频道状态,并将它们与同一组织或不同组织的其他对等体进行比较,以验证每个对等体的一致性和完整性。商业上可用的快照可以用作外国人检查点和基础的新访问。
软件特色:
超载手面料专门设计用于具有模块化架构。无论是可插拔的共识,可插拔的Identity管理协议(如LDAP或OpenID Connect),密钥管理协议或密码库,该平台的核心已被配置为满足业务用例要求的多样性。
在更高的级别下,织物由以下模块化组件组成:
可插拔的订购服务在事务顺序中达成共识,然后将块广播到同一级别。
可插拔的成员资格服务提供商负责将实体与网络中的关联。
可选的对等八卦服务通过向其他对等顺序排列服务分配输出块。
智能合同(“线”)在容器环境(例如,Docker)中运行以隔离。它们可以用标准编程语言编写,但它们无法直接访问用户状态。
该帐户可以配置为支持各种DBMS。
可以为每个应用程序配置可插拔识别和验证策略实现。