Hyperledger Fabric 2.0 Alpha发布了! 随着近期Fabric v1.4.1 LTS的发布,Fabric项目目前工作的重点正在向1.4.1和2.0的正式版推进。...新的Fabric生命周期允许多组织对链码的参数达成共识,例如链码在开始和账本进行交互前的背书策略。...新的模型在之前的生命周期上进行了改进: 多个组织必须同意链码的参数:在Fabric 1.x版本中,一个组织能够为所有其他通道成员设置链码参数(例如背书策略)。...新的Fabric链码生命周期将变得更灵活,提供了中心化的信任模型(例如之前版本的生命周期模型)以及去中心化的要求足够多的组织同意才能生效的模型。...这个策略会在通道添加或者移除组织的时候自动更新。 可检查的链码包:Fabric生命周期将链码以易于阅读的tar文件的形式打包。这样可以更加轻松地检查链码代码包并协调跨多个组织安装。
该示例配备一个 Hyperledger Fabric 区块链网络,将一个智能合约 (chaincode-Example02) 应用程序部署到这个运行的网络,然后针对部署的链代码运行交易。...配备的 Hyperledger Fabric 区块链网络包含两个组织、每个组织两个对等节点,以及一个 Solo 订购服务。...该网络支持自动配备对等节点和订购者组织的加密材料,自动配备渠道工件,以及邀请组织对等节点加入渠道。 在区块链术语方面需要帮助?...在本教程中,我们将展示如何将第三个组织添加到一个应用程序渠道,将它自己的对等节点添加到一个已在运行的 Hyperledger Fabric 区块链网络,然后将它加入该渠道。...在将配置更新提交到订购者之前,update 命令自动将用户的签名添加到配置更新上(所以不需要第二次使用 signconfigtx)。
Fabric channel 是特定网络成员之间的专用通信层,通道只能由被邀请加入通道的组织使用,并且对网络的其他成员不可见。...与网络交互 在启用测试网络后,可以使用 peer cli 客户端与网络进行交互,通过 peer cli 客户端可以调用已部署的智能合约,更新通道,或安装和部署新的智能合约。...首先确保操作目录为test-network目录,比如我的目录是: 以下操作需确保在 test-network 目录中进行操作: 执行以下命令将cli客户端添加到环境变量中: export PATH=$.../network.sh down 该命令将停止并删除节点和链码容器,删除组织加密材料,并从Docker Registry移除链码镜像,另外还会删除之前运行的通道项目: 七、使用认证机构创建网络 Hyperledger...Fabric使用公钥基础设施(PKI)来验证所有网络参与者的行为。
一、说明 本文主要通过一个例子分享以 Hyperledger Fabric 为代表的联盟链应用场景。...关于 Fabric 的相关概念请先参考文章 《Hyperledger Fabric 核心概念》 二、业务场景 我们看一个购物场景: 首先消费者在某个购物平台上购物例如淘宝。...;对于整条链路上的每个参与者来说数据是 「不透明」 的。...三、区块链架构 上面的业务场景,我们代入到 Hyperledger Fabric 的网络中来实现的话,架构图如下: 「组织」:先定义3个组织,组织1 是 购物平台 有一个应用淘宝,组织2 是 支付平台...在整个区块链网络搭建完成之后,当每个个购物流程走完之后区块链的账本上会新增3条记录,分别是一条 订单信息 一条 支付信息 和一条 扣款信息; 区块链的特性,每个节点都有一份全量数据的账本副本。
从Hyperledger概念的角度来看,区块链网络与比特币或以太网等加密货币的代表无法比较。相反,Hyperledger网络的节点分布在参与组织中,这使得私有,许可或联盟区块链网络特别有趣。...Fabric包含可以尽可能自由实现的概念。区块链网络的基础是对所需组织结构的建模。每个参与者都有固定的身份,可以通过颁发的证书来识别自己。除了身份验证之外,还包括授权。...在节点上的本地持久性更改之后,将更改提交给网络(“认可”)并在其他组织接受后插入到区块链中。在以太坊或其他公共区块链平台的背景下,可以将链码与智能合约进行比较。 ? 通道用于实现隐私领域。...发动机及其安装的车辆显示为资产。制造商和经销商的公司被引入并被识别为网络中的组织。 Fabric链代码应提供以下功能: 1.生产具有唯一序列号的发动机缸体。 2.生产后将发动机缸体传送给经销商。...对于由真正的组织联盟跨越的区块链网络,我们仍然有一些问题需要解决: 我们如何管理组织和对等节点?组织如何自动将新的对等节点添加到网络中?我们如何获得一个可以抵御失败的公平和同质的网络?
它提供了一种新的交易方式,从而可以从根本上改变业务的实现。 那么,在众多的区块链框架中,开发人员应该首先掌握哪个框架呢?...Hyperledger Fabric网络是由网络中不同组织拥有和贡献的peers构建的。该网络之所以存在是因为组织将其个人资源贡献给了集体网络。...MSP管理用户ID并验证网络上的所有参与者,从而使Hyperledger Fabric成为一个私有的和准入的网络。 Ordering service。...Hyperledger交易如何执行 Hyperledger Fabric网络中事务的请求流如下所示: 客户端使用Node.js或Java™SDK连接到Hyperledger Fabric网络。...ordering service将交易传递给peers。所有peers都提交并应用相同的事务序列并更新其状态。 总结 Hyperledger Fabric是一个区块链框架实现。
2)部署 许多组织和政府报告称他们正在将企业级以太坊部署到其工作流程中。 ...另一方面,Hyperledger Fabric只有一个实现。它没有类似于基于EVM链的客户端。当我们指的是Hyperledger Fabric客户端时,我们将指的是Linux 基金会组织的唯一实现。...组成大型联盟的公司倾向于使用 Hyperledger Fabric 网络。另一方面,我们有一些用例是仅将 Hyperledger Fabric 网络用于内部流程,而没有任何外部组织。...与部署基于EVM的网络相比,部署、配置和维护Hyperledger Fabric网络的成本往往更高,这就是为什么我们看到较小的项目使用企业级以太坊而不是Hyperledger Fabric。...新的协议不断涌现,这些协议将公有以太坊主网用作常见的参考框架,从而降低了目前孤立的企业结构。这提供了避免因为联盟部署许可的网络而产生问题的能力。
HyperLedger Fabric组织的成员必须通过註册才能访问,因此是私有的许可制联盟链。可以通过一个Membership Service Provider(MSP,即成员服务提供者)来註册。...HyperLedger Fabric也提供了创建通道(channel)的能力,允许一组参与者创建一个单独的共同维护的交易账本。...每个参与者都有一份帐本的副本到他们所属的每一个HyperLedger Fabric的网络上。 首先,世界状态(world state)组件描述了总帐的状态,它是总帐本的数据库。...HyperLedger Fabric支持需要将隐私(使用信道)作为关键操作需求的网络,同时也是相对开放的网络。 共识 事务必须按照它们发生的顺序写在帐本上,即使它们可能是网络中不同的参与者生成的。...HyperLedger Fabric的设计使得网络启动者可以自行选择一种最能代表参与者之间关系的共识机制。就像隐私一样,需要有一系列的需求;从人际关系高度结构化的网络到更加对等的网络。
而其中去中心化的概念,是因为账本信息会被复制到许多网络参与者中,每个参与者都在协作维护账本,不像传统应用的数据被中心管理着。...另外信息只能以附加的方式记录到账本上,并使用加密技术保证一旦将交易添加到账本就无法修改。这种不可修改的属性简化了信息的溯源,因为参与者可以确定信息在记录后没有改变过。所以区块链有时也被称为证明系统。...Hyperledger Fabric 网络的成员只能从可信赖的成员服务提供者(MSP) 注册,也就是说 Hyperledger Fabric 搭建的区块链是一种联盟链。...Hyperledger Fabric 的账本包括两个组件: 世界状态和交易日志。并且每个参与者都拥有他们所属的每个 Hyperledger Fabric 网络的账本的副本。...2、将 fabric 二进制工具添加到环境变量 为了后续方便使用命令,可以将第 1 步下载的工具添加到系统环境变量中: $ export PATH=${PWD}/hyperledger-fabric-linux-amd64
2 环境搭建 2.1 搭建虚拟机环境 2.1.1 生成配置文件 使用版本:Ubuntu 18.04 LTS 执行以下命令后,将生成Vagrantfile配置文件 $ vagrant init ubuntu.../byfn.sh down 3 开发测试 以下将使用VSCode远程开发模式,连接我们前面启动的Fabric网络进行远程开发。...: [image.png] 3.1.3 链码部署 我们直接将其部署到前面启动的官方first-network网络。.../fabric/peer# cd /opt/gopath/src/github.com/chaincode/ptcc # 执行安装链码命令 ## 组织1的peer节点安装 root@ce34ec1e55ae...=> 创建Fabric网络交互对象 func NewContract() *gateway.Contract { // 需要修改该配置的channelName为jschannel configPath
该函数称为createMyAsset,它接受myAssetId和一个值,两者均为字符串。提交此事务后,将使用关键字myAssetId和值创建一个新资产。...如果一切顺利,你应该在列表中看到一个新程序包blockchainExtProject@0.0.1。 你刚创建的程序包可以安装到任何Hyperledger Fabric peer上(以正确的版本运行)。...在这个简单的区块链网络中只有一个组织称为“ Org1”。只有一个组织的网络在现实世界中使用并不是很现实,因为重点是要在多个组织之间共享一个分类帐,但对于本地开发目的来说已经足够了。...现在,你已经启动了本地Fabric运行时,现在该安装并实例化智能合约了…… 安装智能合约 在真实的网络中,每个将支持交易的组织都将在其peer节点上安装智能合约,然后在通道上实例化该合约。...image 提交和查询事务 Fabric网关和Hyperledger Fabric网络的peer进行连接,客户端应用程序可以使用该网关提交事务。
Hyperledger Fabric是被广泛使用的,支持准入网络上的分布式账本解决方案。它的模块化架构最大程度地提高了区块链解决方案的机密性,弹性和灵活性。 1....成员准入 Hyperledger Fabric是用于准入网络的框架,其中所有参与者都具有已知身份。在考虑准入的网络时,您应该考虑您的区块链用例是否需要遵守数据保护法规。...性能,可伸缩性和信任级别 Hyperledger Fabric建立在模块化架构之上,该架构将事务处理分为三个阶段:分布式逻辑处理和协议(“链码”),事务排序以及事务验证和承诺。...如果两项检查均通过,则该块将提交到账本,并且每个事务的状态更新都将反映在状态数据库中。 由于使用新的v1.X架构,只有签名和读/写集是通过网络发送的,因此可伸缩性和性能得到了优化。...在Hyperledger Fabric v1.X中,可以动态和以编程方式添加peer,而不是像v0.6中那样以静态方式添加。例如,假设一家管理外汇汇率的公司有一家新银行要添加到网络中。
同时我会将已经完成的部分同步发Pull Request到hyperledger-labs组织下的fabric-docs-cn仓库中: https://github.com/hyperledger-labs...贡献的方法 不管作为普通用户还是开发者,这里都有很多为Hyperledger Fabric做贡献的方法。...项目管理 正如我们的章程中描述的那样,Hyperledger Fabric是在一个开放治理的模型下管理的。项目和子项目由一系列维护者主导。...一个新的子项目可以指定一些初始的维护者,当项目第一次被批准的时候,由顶级项目的现有维护者所批准。 维护者 Fabric项目由项目的顶级维护者领导。...我们也在积极考虑采用LTS(long term support)的发布过程,虽然这些细节需要由具体的维护者决定。相关细节请参考在Chat的#fabric-maintainers中的讨论。
区块链上有国外比较著名的组织比如R3联盟、超级账本(Hyperledger),国内的中国区块链研究联盟(China Blockchain Research Alliance)、中国分布式总账基础协议联盟...现在代码库中(代码库链接 https://github.com/hyperledger)主要项目有三个: 》》区块链浏览器项目(Blockchain Explorer Incubator) 将DTCC、...当完成时,该浏览器有望能为HyperLedger的开发者和非技术用户提供情况信息、交易数据、网络信息(例如节点列表)和链代码或交易群组。...》》组织孵化器项目(Fabric Incubator) DAH和IBM的方案合并,使用区块链技术提供了一个模块化的架构,允许组件如共识和会员服务可以即插即用。...这种架构能满足多样性的要求。支持许可和无许可的部署。它包括一个新的共识算法,证明过往的时间事件(Proof of Elapsed Time (PoET))。
Hyperledger执行董事Brian Behlendorf表示,Hyperledger的技术指导委员会必须批准每个新的子项目,并且正在寻找“代表不同的想法”的项目。...前五个项目是:Fabric,Sawtooth,Indy,Burrow和Iroha。 Behlendorf说:“这些项目中的每一个项目都是在Hyperledger之外开始的,首先是一个有特定用例的团队。...每个项目必须为开源组织提供独特的东西,其技术必须适用于其他公司。 Fabric Fabric是Hyperledger迄今为止最活跃的项目。 Fabric 1.0发布于7月份发布。...“如果你有一个庞大的区块链网络,并且只想与某些参与方共享数据,那么你可以创建一个只有这些参与者的私人频道,”Behlendorf说。 “这是关于Fabric现在最鲜明的事情。”...它包括一种称为“经过时间证明”的新型共识算法。共识是所有区块链的关键要素。一般来说,这是新的信息在被接受为分类帐中的下一个入口之前被审查和确认的技术。
其主要的区块链网络功能包括: Identity management 身份管理 Hyperledger Fabric 提供用户识别服务来管理用户的ID和参与者在网络内的授权。...Privacy and confidentiality 隐私与保密 Hyperledger Fabric 使竞争商业组织、任何需要私有、保密交易的组织共存在同一个许可网络中。...Modular design 模块化设计 Hyperledger Fabric实现了模块化设计,网络设计者能根据需求选择功能。比如特定的识别、共识、加密算法可以插入任何 fabric网络。...共识)进区块,从ordering服务发布到channel的peer节点中 peer节点根据背书策略验证交易并执行策略 在添加新块之前,将执行版本检查来保证资产的状态从chaincode执行时刻开始没有被改变...Security & Membership Services 安全和成员服务 Hyperledger Fabric 加强了交易网络,所有参与者都有已知的身份。
本文将通过实例阐释一个简化版的企业Fabric网络是如何构建的,并对其网络与安全体系进行分析,如有错漏,欢迎交流指正。...Hyperledger Fabric 网络 Hyperledger Fabric 应用场景实例 业务角色 假设有一个采用Fabric系统的应用场景里。...有 4 个组织R1, R2, R3和R4,R4是网络启动者,R1和R4共同担任网络管理员角色。 系统设置了 2 个通道,分别为C1和C2。R1和R2使用C1通道,R2和R3使用C2通道。...排序节点由O4提供,属于组织R4. 搭建过程 与真正的商业应用场景相比,角色和商业和逻辑都很简化,但很适合用来理解不同节点和角色之间的功能和交互。接下来,我将一步一步说明网络的搭建过程。...创建网络并添加网络管理员 每一个组织需要通过MSP中的 CA 机构颁发的证书才能加入网络,因此,每个节点都需要有相应的 CA。 R4作为网络启动者,需要先配置网络并设立O4排序节点!
当一个新的节点想加入到区块链网络中,或一个异常的节点恢复正常后,此节点的区块高度落后于其它节点,其状态不是最新的,不能参与网络中交易的共识,此时就需要进行区块同步,该节点会主动向其它节点请求下载区块。...因此在比特币网络中,如果有新节点想要加入网络,作为“轻节点”接入是最快速高效的方式。但缺点是牺牲了一些安全性和可靠性。 ...在联盟链Hyperledger Fabric中,在Fabric v2.3版本出来之前,一个新节点加入通道(通道,Fabric的一个特性,可以理解为一个通道就是一个区块链网络,不同通道间的账本是独立的,节点可以加入多个通道...由于通道中组织之间的私有数据可能有所不同,因此快照中不包含私有数据(私有数据,Fabric实现数据隐私保护的特性),但通过快照加入通道的节点,将从快照中发现其所属的私有数据集,并直接从属于这些集合成员的节点获取相关的私有数据...附录: Fabric官方学习文档:https://hyperledger-fabric.readthedocs.io/en/latest/whatis.html Fabric私有数据:https://hyperledger-fabric.readthedocs.io
运行fabric-samples中的示例:创建第一个网络(Building Your First Network)。...该网络共有4个peer节点,划分为2个组织(organizations),以及1个单独的orderer节点,此外还需要一个cli容器来与网络节点交互。...选择合适的版本下载,将解压后的bin目录放置于fabric-samples目录下,并加入环境变量: vim ~/.bash_profile // Ubuntu中是.profile.../byfn.sh -m generate 2.启动网络 该步完成的操作有:启动网络所有节点,创建通道后将节点加入,安装、实例化chaincode,然后进行一系列查询和交易。 ....-c参数表示将调用链码的init接口,将a、b的值分别设置为100和200。
领取专属 10元无门槛券
手把手带您无忧上云