AB资源网(www.xxab.cn)服务器导航站-找服务器商就上AB资源网
百度360必应搜狗本站头条
【本站公告】:本站互助计划,欢迎有活动的服务器商免费投稿,免费收录,最新收录会在首页展示! - 站长QQ:6502567
当前位置:网站首页 > 技术文档 > 正文

hyperledgerfabric(hyperledgerfabric中文文档)

AB资源网 2023-04-19 06:58 75 浏览 0 评论

本文目录一览:

  • 1、hyperledgerfabric是公有链吗
  • 2、使用 AWS 区块链模版搭建 Hyperledger Fabric
  • 3、Hyperledger Fabric first-network的初始化启动流程(二)
  • 4、Hyperledger Fabric(高可用之Raft部署)
  • 5、初识Hyperledger Fabric

hyperledgerfabric是公有链吗

hyper ledger fabric不是公有链,是一个许可的基于商业的区块链构架,主要解决商业性的区块链需求。Hyperledger Fabric是开源的,企业级的,带权限的分布式账本平台。它的设计初衷就是针对企业级应用的,针对市面上流行的其他分布式账本系统或者区块链平台,Hyperledger Fabric拥有很多不同的特点和应用领域。

拓展资料:

一、关于区块链( Blockchain )

1、区块链(Blockchain),本质上是一种去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链概念,最早由一个叫中本聪的人在2008年提出。

2、区块链之所以产生,是因为传统的商业网络,每家公司进行数据交互,或者业务往来时,每家都会通过自己的数据库,对另外一家公司提供接口,供其访问。这样,会出现一个问题,不能保证每家的数据是相同性。而且从别人的中心数据库去取数据,不能保证数据的真实性,其中存在信任问题,区块链这种分布式账本的模式,可以很好地解决这个问题。

3、区块链有几个明显的特点,即:去中心化、不可伪造、不可篡改、公开透明、账本一致,并且可以匿名。区块链分公有链、私有链和联盟链。公有链,是指全世界任何人都可读取、发送交易且交易能获得有效确认的、也可以参与其中共识过程的区块链。私有链最大的区别是,它仅仅对单独的个人或实体开放。因此,私有区块链其写入权限仅在一个组织手里。读取权限或者对外开放,或者被任意程度地进行了限制。私有链的特点是,交易速度非常之快,给隐私更好的保障,能大幅降低交易成本,甚至让成本为零。联盟链,只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。

二、关于Hyperledger Fabric

Hyperledger Fabric是一个许可的基于商业的区块链构架(permissioned blockchain infrastructure)。主要解决商业性的区块链需求。首先,所有节点都会有一个共享账本,它会把商业的合约、合同封装起来,放在账本里,根据条件自动触发信息,没有人为操作步骤,能保证公平公正性。其次是,隐私性。联盟链有不同的角色不同的权限,不同的角色操作不同的数据,隐私性功能可以及时保护数据。其三,是信任机制更好。各个节点之间,无需身份确认,即可建立信任关系。

使用 AWS 区块链模版搭建 Hyperledger Fabric

AWS 区块链模版号称可以在几分钟内完成创建并部署区块链网络。

使用 AWS 区块链模版可以搭建两种类型的区块链网络:

具体搭建步骤可以参考 AWS Blockchain Templates 开发人员指南 ,里面有关于搭建 Ethereum 的详细步骤,文档中的 「先决条件」 设置项是用于搭建 Ethereum 网络的,对 Fabric 网络并不适用,所以这里说一下搭建超级账本的 Fabric。

在使用模版快速创建堆栈前,务必要提前设置好的相关内容:

说明:

以上的5个前提条件设置正确了,我们就可以用区块链模版创建 Fabric 网络了,下面具体说一下画红框的比较难的两个配置:

设置步骤:

点击右下角的 「Review Policy」 ,设置这个权限策略文件的名称(myFabricPolicy)和描述(...),最后点击 「Create Policy」 :

设置如下:

AWS控制台——服务——VPC——在VPC控制面板中点击蓝色的按钮「 Launch VPC Wizard 」,选择带有单个公有子网的 VPC:

设置 VPC 名称、子网名称,其他值为默认值。

在 AWS Blockchain Templates 开发人员指南 的Hyperledger Fabric 部分点击启动链接:

设置参考如下:

创建之后,喝一杯咖啡☕️等一会儿...

等状态显示为「 CREATE_COMPLETE 」就OKK了。🎉🎉🎉

Hyperledger Fabric first-network的初始化启动流程(二)

Build Your First network提供了一个 fabric 的示例网络。该示例网络中由两个组织构成,每个组织维护两个 peer 节点,演示了基于链码查询2个账户余额与转账操作。

first-network 中有一个启动脚本 byfn.sh,利用构建的 Docker 镜像快速启动网络。该脚本会启动一个 orderer 节点和四个归属两个不同组织的 peer 节点,还将启动一个cli运行脚本,它将 peer 节点加入通道(Channel)、部署和实例化链码,并根据已部署的链码驱动交易执行,以下是byfn.sh的帮助文档。

执行./byfn.sh up -o etcdraft启动脚本,指定使用raft共识算法

通过cryptogen工具生成组织成员关系和身份证书、密钥等文件。调用configtxgen工具生成节点与通道配置文件,包括Orderer节点上系统通道的创世区块文件genesis.block,新建应用通道的配置交易文件channel.tx、组织锚节点配置更新交易文件Org1MSPanchors.tx与Org2MSPanchors.tx等。

用户执行network_setup.sh脚本启动Fabric网络,该脚本调用networkUp函数,该命令会检查网络实体的证书是否生成,如果没有则首先生成相关证书目录。

generateCerts主要执行了cryptogen generate --config=./crypto-config.yaml

根据crypto-config.yaml生成网络成员组织结构和对应的身份证书、签名私钥等文件,并保存到默认的crypto-config目录,身份证书等文件在对应的目录msp/ 中,TLS证书与密钥文件保存到tls/ 中。

crypto-config.yaml主要包含的fabric排序节点证书配置以及fabric组织证书配置。

Template 模板定义节点的配置模式

Specs 另外一种配置模式

Count 节点总数

Hostname 全限定域名 命名格式

Domain 域名

Users 添加到管理员的用户帐户数

采用Specs模式配置了5个排序节点

采用Template模式配置了两个组织,每个组织2套公私钥和证书,包含普通User数量为1

ordererOrganizations目录 :包含Orderer组织类型的身份证书.pem文件、签名私钥文件 _sk文件、TLS证书(证书.crt文件和密钥.key文件)

peerOrganizations目录 :包含Peer组织类型的身份证书.pem文件、签名私钥文件 _sk文件、TLS证书(证书.crt文件和密钥.key文件)

这些文件通过docker-compose工具,基于docker-compose-cil.yaml、docker-compose-base.yaml等配置文件,将目录作为挂载卷到容器的指定目录。

调用replacePrivateKey基于docker-compose-e2e-template.yaml文件创建新的配置文件docker-compose-e2e.yaml。进入Org1组织的CA目录,获取私钥文件名作为PRIV_KEY,替换docker-compose-e2e.yaml文件的CA1_PRIVATE_KEY。同理替换CA2_PRIVATE_KEY。

执行generateChannelArtifacts函数,使用configtxgen工具基于configtx.yaml创建节点与通道配置文件,包括Orderer通道的创世区块,应用通道配置配置交易文件channel.tx,锚节点配置更新交易文件Org1MSPanchors.tx和Org2MSPanchors.tx

Orderer系统通道的创世区块

执行configtxgen命令,创建Orderer创世区块文件genesis.block

新建应用通道的配置交易文件

执行configtxgen命令,创建应用通道的配置交易文件channel.tx,后续执行peer channel create读取文件。

锚节点配置更新交易文件

执行configtxgen命令,创建锚节点配置更新交易文件Org1MSPanchors.tx和Org2MSPanchors.tx,后续执行peer channel update进行更新。

返回到network_setup.sh脚本,判断是否启用了CouchDB标志位(默认关闭),使用docker-Compose工具执行docker-Compose-cil.yaml文件,启动Fabric网络。

继续分析network_setup.sh脚本,默认COMPOSE_FILES是docker-compose-cli.yaml文件,当设置了kafka共识或者raft共识,则使用对应的yaml文件。

Orderer节点继承了docker-compose-base.yaml中的orderer.example.com配置属性,Orderer节点容器启动时执行如下命令

docker-compose-cil.yaml文件

继续追踪base/docker-compose-base.yaml,找到orderer.example.com服务,挂载目录和暴露7050端口。

orderer的配置还是引入peer-base.yaml中的orderer-base服务

4个Peer节点继承了docker-compose-base.yaml中对应容器名称的配置属性,Peer节点容器启动时执行如下命令

docker-compose-cil.yaml文件中Peer节点配置。

docker-compose-base.yaml文件中Peer节点的配置。

引入peer-base.yaml中的peer-base服务

docker-compose-cil.yaml文件中CLI客户端配置。启动完 orderer 节点、peer 节点和 CLI 容器之后,实际是调用 script.sh 脚本,该脚本是在 CLI 容器中执行,CLI 容器其实就是用户客户端,只不过是命令行客户端,运行在容器中。默认情况下CLI 的身份是 admin.org1,连接 peer0.org1 节点,执行 script.sh 脚本

script.sh脚本顺序执行默认的测试流程,包括创建新的应用通道、添加节点、更新锚节点、安装链码、实例化链码、调用链码、查询链码等操作。

Fabric要求创建、加入与更新通道的权限必须具有通道组织的管理员身份。调用setGlobals设置全局环境变量,CLI客户端能够灵活切换指定容器的管理员角色,可以直接连接并操作指定的Peer节点,先切换到Peer0/Org1节点。

接着采用Org1管理员身份执行peer指令,将通道配置文件Channel.tx发送给Orderer节点,创建mychananel的应用通道。如果创建成功,则返回一个创世区块block,它会存储在 peer 节点的文件系统中,包含 channel.tx 指定的通道配置信息。

遍历所有节点,调用setGlobals切换指定节点,执行peer指令,将Org1组织包含的Peer0/Org1和Peer1/Org1节点加入mychananel应用通道,将创世区块mychananel.block设置成命令行参数。Org2组织类似。

joinChannelWithRetry 函数中的 setGlobals 是设置 CLI 容器的环境变量的函数。例如:setGlobals 1 2 设置 CLI 的身份为 admin.org2,连接 peer1.org2 节点。

使用 peer channel join 命令让节点加入通道,$CHANNEL_NAME.block 就是前面创建通道成功时返回的区块,该区块在上面 org1.peer0 创建通道时保持在 CLI 容器内,所以能直接使用。节点成功加入通道后会创建 CHANNEL_NAME.block 开头的链。

一个组织只能有一个锚节点,节点加入通道后才能进行更新,连续两次调用updateAnchorPeers,更新两个组织的锚节点配置,用Org1管理身份更新Peer0/Org1的配置,并指定锚节点配置更新文件Org1MSPanchors.tx,Org2组织同理。

连续两次调用installChaincode分别在Peer0/Org1和Peer2/Org2中安装chaincode_example02链码,并将链码命名为“mycc”且版本1.0,如果链码安装成功,在指定安装目录/var/hyperledger/production/chaincodes下存在name.version的链码文件。

实例化链码必须在安装过链码的节点上进行,同一个通道内所有节点上相同的实例化数据在通道账本中是共享的,用户只需要在任意一个Peer节点上成功执行一次实例化链码操作,并通过排序打包后将实例化数据广播到其他节点上,通道内所有合法节点都可以访问该链码的实例化数据。

实例化将链码添加到通道上,启动目标节点的容器,初始化与链码相关的初始值,这里的初始值为 ["a","100","b","200"]。”实例化“ 过程会产生链码的容器,例如: dev-peer0-org1.example.com-mycc-1.0 。实例化过程需要指定背书策略,通过 -P 参数设置,这里的策略定义为 AND ('Org1MSP.peer','Org2MSP.peer') ,表示任何交易必须要有 org1 和 org2 节点的共同背书。

Peer0/Org1上调用链码查询函数chaincodeQuery和链码调用函数chaincodeQuery。查看A的余额,并从账户A中向账户B中转账10元。

Peer3/Org2上安装链码,执行查询A的余额,检查余额是否为90元,如果是说明转账成功。

Hyperledger Fabric(高可用之Raft部署)

Raft共识在1.4.1版本时正式支持,本次基于1.4.4版本部署Raft版的Fabric网络。由于Raft共识集成了etcd,不再需要使用kafka、zookeeper等中间件。本次部署将搭建3Orderer节点、2组织(2peer)的Fabric网络,使用vagrant创建 8台centos虚拟机,其中一台用于nfs共享文件,具体主机组件对应如下:

192.168.33.11: orderer0

192.168.33.12: orderer1

192.168.33.13: orderer2

192.168.33.21: peer0-org1

192.168.33.22: peer1-org1

192.168.33.23: peer0-org2

192.168.33.24: peer1-org2

192.168.33.25: nfs-server

本次搭建所需文件目录如下:

获取源码

启动并进入nfsserver主机

初识Hyperledger Fabric

Fabric是联盟链,Peer代表一系列组织,Peers是整个区块链网络的基础,因为它是账本和智能合约的载体。通过智能合约,账本通过不可篡改的方式记录了交易的全过程。

对于不能的公司来说,是有不同的业务的,不同的业务又与不同的公司相关联,需要创建多个联盟链,因此就需要创建多个channel,channel是多个特定成员之间以机密交易为目的建立的私网,一个peer可以加入多个channel,每个channel维护自己的账本,账本和账本之间是隔离的,每个channel可以维护一个或多个账本。所以为了满足复杂的交易需求,每个peer上可以安装不同的智能合约,当peer交易完成时,会发送事件通知Client。peer上还有一个Local MSP(成员服务提供器)服务,提供身份认证和加密签名等功能。

WorldState 以key-value的形式,维护着当前账本的当前信息。

智能合约(Smart Contract)是区块链的核心,定义了各个不同组织间的业务规范,创建交易并记录在账本里。多个智能合约可以打包到一个链码中。只有链码(Chaincode)部署之后,智能合约才能被应用使用。

不同于一般的链码运行在一个独立的容器,系统链码运行在peer进程上,实现了一些系统行为。

Fabric为了优化网络性能,提高安全性和可扩展性,将每个交易分到 Endorsing Peer 、 Ording-Service 和 Committting Peer 三个部分,这就需要一种安全的,可信的和可扩展的数据传输协议——Gossip Protocol。 Gossip 传输协议以随机的方式将信息散播到网络中,主要执行三个功能:

hyperledgerfabric的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于hyperledgerfabric中文文档、hyperledgerfabric的信息别忘了在本站进行查找喔。

腾讯云

相关推荐

踏入阿里云服务器代理商之门:步骤和技巧 (怎么成为阿里云服务器代理商)

作为目前全球更大的云计算服务提供商之一,阿里云在中国市场的份额一直占据领导地位。如果你希望在云计算领域开展业务,成为阿里云服务器代理商可能是个不错的选择。本文将为大家详细介绍具体的步骤和技巧,帮助你成...

高性价比,足够优惠! 30美元起,年付美国VPS,值得拥有! (美国vps 年付)

近年来,随着互联网的不断发展,越来越多的网站需要使用虚拟主机服务,以提供更加稳定的服务质量和更好的访问速度。而虚拟主机的使用也因此成为了越来越普遍的一种方式。但是,在选择虚拟主机服务时,除了考虑到稳定...

评测美国云服务器,推荐性价比高的品牌 (美国云服务器哪个好用)

近年来,随着人们对于云计算的需求不断增加,云服务器也逐渐成为了企业、机构和个人等用户参与服务的主要方式之一。而在众多的云服务器品牌中,美国云服务器更是备受欢迎。而对于那些想要评测美国云服务器的用户来说...

群晖服务器的登录方法详解 (群晖服务器如何登陆)

群晖服务器是一种高效可靠的存储和共享平台,它可以提供非常多的实用功能和服务。但是,在开始使用之前,你需要登录到你的群晖服务器。在本文中,我们将详细讲解群晖服务器的登录方法。一、了解群晖服务器的基本概...

紧急通知:CDN服务器可能遇到故障,需及时解决! (cdn服务器可能发生故障)

作为一个网站管理员,CDN服务器的重要性我们再清楚不过了。最近,我们收到了来自网络运营商的紧急通知,通知我们CDN服务器可能遇到故障,需要及时解决。CDN服务器,即内容分发网络服务器,是在全球各个位...

办公室网络瘫痪!无法连接局域服务器怎么办? (连接不了局域服务器)

办公室网络瘫痪是企业中常见的问题之一。一旦网络瘫痪,会影响到员工的工作效率和企业的营运。当你打开电脑,却发现无法连接局域服务器时,这时该如何应对呢?1.检查网络连接检查电缆是否连接正确,网线是否...

利润吗?买云主机,能否带来收益? (买云主机能赚)

随着互联网的飞速发展,云计算作为一种新型的计算模式,其广泛应用在各个领域之中。其中,云主机服务是云计算的重要组成部分,已经成为很多企业选择托管的首选方式。随着云主机的发展和普及,很多人开始关注,如果购...

.NET轻松打开FTP服务器文件夹,方便快捷管理文件 (.net打开ftp服务器文件夹)

在现代科技的浪潮下,越来越多的企业选择使用云服务器来存储和共享数据。FTP服务器是一个非常有用的工具,它允许用户上传、下载、删除和共享文件。然而,FTP管理文件需要一些特定技能和知识,否则操作可能会变...

2023企业服务器版:全面升级,助力企业发展 (2023 企业服务器版)

2023年,微软推出了全新的企业服务器版本,旨在为企业用户提供更为稳定、高效的IT系统支持,更好地助力企业发展。随着互联网和信息技术的飞速发展,企业面临着越来越大的信息化压力。如何建设一个高效、稳定...

享受超低价格!2023年付VPS,轻松搭建私人网站 (2023便宜年付vps)

当今时代,互联网充斥着各种各样的网站,无论是企业还是个人都会拥有一个网站,用来展示自己的产品或者知识。而搭建一个私人网站也是越来越普遍的事情。那么,如何搭建一个便捷而且又不贵的私人网站呢?本文将为大家...

回顾2023服务器系统:经典之作还是过时技术? (2023服务器系统)

2023年,微软公司推出了WindowsServer2023,这是一款非常成功的服务器操作系统,许多企业和机构使用它进行各种任务和应用程序。然而,随着时间的推移,新技术的发展以及安全漏洞的增加,2...

2023 Q3服务器排名发布:领先厂商与新兴品牌争夺冠军 (2023 Q3服务器排名)

近年来,随着互联网技术的迅速发展,服务器市场也持续升温。市场上主要的服务器品牌包括戴尔、惠普、联想、IBM等。而在这些老牌企业的竞争下,新兴的服务器品牌也在不停崛起。根据2023Q3服务器排名发布,...

「低成本高性能!100g云服务器价格惊喜震撼!」 (100g云服务器价格)

低成本高性能!100g云服务器价格惊喜震撼!现今的互联网时代,任何一家公司都需要拥有自己的网站,以便宣传公司产品、服务和品牌。一个高速、可靠的云服务器是每个公司的必备工具之一。就在不久之前,网络服务...

1u服务器显卡:强大性能让服务器效率提升 (1u服务器显卡)

1U服务器显卡:强大性能让服务器效率提升随着信息技术的飞速发展,人们对数据处理和存储的需求越来越高,尤其对企业级服务器的性能要求也越来越苛刻。随着、大数据、云计算等诸多新技术的不断涌现,服务器的效率...

韩国将于2023年推出云服务器服务,助力云计算技术的发展。 (2023韩国云服务器)

韩国将于2023年推出云服务器服务,助力云计算技术的发展随着互联网的高速发展,云计算技术已经成为了数字化时代的一项重要技术。云计算技术是一种以互联网为基础,将不同的底层服务封装成云服务器,以便用户可...

取消回复欢迎 发表评论: