`

Fabric

 
阅读更多
Fabric(纺织品)项目的目标是实现一个通用的权限区块链(Permissioned Chain)的底层基础框架.为了适用于不同的场合,采用模块化架构,提供可切换和可扩展的组件,包括共识算法,加密安全,数字资产,记录仓库,智能合约和身份鉴权等服务

项目架构:
1.身份服务:Fabric是权限区块链(Permissioned Chain),与比特币,以太坊这类匿名的无权限区块链网络最大的区别就是具有身份识别能力.在Fabric账本各类事件和交易中,参与者和对象都具有明确的身份信息.
身份服务管理系统中各种实体,参与者和对象的身份信息,包括参与的组织,验证者和交易者,账本中的资产和智能合约,系统组件(网络,服务器)以及运行环境.验证者在Fabric网络建立的时候可以确定参加交易的权限级别

2.策略服务:访问控制和授权功能,Fabric的交易通常要求参与方具有相关权限才能进行.其他的策略还包括加入和退出网络的策略,身份的注册,验证,隐私和保密的策略,共识策略等

3.区块链服务:
a.P2P协议组件
b.分布式账本组件
c.共识管理器组件
d.账本存储组件

4.智能合约服务:
智能合约分为公开,保密和访问控制几种类型.公开合约可供任何一个成员调用,保密合约只能由验证成员发起,访问控制型合约允许某些批准过的成员调用,

5.应用编程接口
主接口采用REST API,基本与Fabric服务相对应,API分为身份,策略,区块链,交易(对应区块链服务)和智能合约等几类.

网络组成:
1.身份服务节点:负责发放和管理用户组织的身份,具体来说就是在注册,交易,传输过程中使用各类数字证书,以及区块链相关的密钥

2.验证节点:创建和校验交易,并且维护智能合约的状态.在执行交易时,一般需要和其他多数的验证节点达成共识(取决于共识算法),然后才能更新本地的账本数据.每个验证节点在本地都保存一份账本的副本

3.非验证节点:主要是接收客户端的请求,组装交易,并发往验证节点处理,从这个角度看,非验证节点像交易预处理器,并不负责交易的实际执行.为了加速客户端的查询响应速度,非验证节点在本地也保留一份账本数据的拷贝.

4.应用节点:主要提供用户端(例如浏览器或移动设备)的后台服务,在收到请求后,把交易请求直接发往(或经由非验证节点转发)验证节点处理.

交易的执行:
1.客户端发送执行请求给任意一个验证节点
2.验证节点收到请求后,向本地账本(ledger)发送启动交易的指令
3.验证节点创建隔离的运行环境,启用应用(智能合约)的代码
4.应用执行过程中,更新本地账本的状态
5.应用完成后,验证节点向本地账本确认交易
6.验证节点向其他验证节点广播交易

分享到:
评论

相关推荐

    fabric2.x的api的服务(基于fabric go sdk)

    在Fabric 2.x版本中,开发人员可以使用Go SDK来构建和交互区块链网络服务。Go SDK为开发人员提供了丰富的API,使得与Fabric网络的通信变得简单而高效。本篇文章将深入探讨基于Fabric Go SDK的API服务,以及如何利用...

    fabricjs_API中文文档.zip

    例如,`fabric.Rect`用于创建矩形,`fabric.Circle`用于创建圆形,`fabric.Polygon`则用于创建自定义多边形。每个形状类都有一系列的构造参数,如宽高、填充色、描边色等,可以通过这些参数定制你的图形。 对于文本...

    fabric-java-sdk-demo.zip

    《基于Fabric-Java-SDK的区块链应用实践》 在当今的数字时代,区块链技术作为一种分布式账本技术,正逐渐渗透到各个行业中。Hyperledger Fabric,作为Linux基金会主导的开源项目,是企业级区块链解决方案的重要代表...

    利用fabric-ca生成区块链证书

    Hyperledger Fabric,作为一款企业级的开源区块链框架,采用了一种名为“Fabric CA”的组件来管理网络中的身份和证书。本教程将详细介绍如何利用Fabric CA服务生成区块链证书,涵盖纯命令行操作以及编写脚本的方式。...

    fabcar_HyperledgerFabric_fabcarinvokequery_fabric_hyperledger_

    【Hyperledger Fabric与FabCar应用详解】 Hyperledger Fabric是Linux基金会领导下的一个开源项目,它是一种分布式账本技术(DLT)平台,专门设计用于构建企业级的区块链网络。这个平台提供了一种灵活、安全且可扩展...

    Hyperledger Fabric linux二进制文件

    Hyperledger Fabric是Linux基金会发起的开源项目,是一个用于构建企业级分布式应用的区块链框架。它提供了模块化的架构,允许在区块链网络中灵活地选择共识机制、身份管理、数据存储等核心组件。本压缩包“hyper...

    vue 画布 vue-fabric-drawing

    Vue Fabric Drawing 是一个基于 Vue.js 和 Fabric.js 的画布组件,专为 Vue 开发者设计,用于在网页上实现交互式绘图功能。Vue.js 是一个流行的前端框架,它简化了构建用户界面的过程,而 Fabric.js 是一个强大的 ...

    将 Data Fabric 融入混合多云.pdf

    Data Fabric是一种面向混合多云环境中的数据管理和数据流通的技术框架。它通过在企业网络(包括本地和云端)中创建一致的数据能力,帮助企业实现数据的无缝集成和智能化管理。在混合多云环境中,Data Fabric解决了...

    fabric-sdk-go与GIN框架应用.pdf

    从提供的文件内容中,我们可以提取出有关fabric-sdk-go与GIN框架应用的知识点。这些内容主要涉及Hyperledger Fabric的SDK for Go语言(fabric-sdk-go)的应用开发,以及GIN框架的集成,环境配置,以及网络层的设置。...

    hyperledger-fabric-ca-windows-amd64-1.4.7.tar.gz

    Hyperledger Fabric是由Linux基金会发起的开源项目,是一个用于创建分布式账本网络的平台,它支持构建高度可定制的区块链解决方案。在Hyperledger Fabric中,CA(Certificate Authority)扮演着核心角色,负责身份...

    HyperLedger Fabric开发实战——快速掌握区块链技术-配套资源.zip

    《Hyperledger Fabric开发实战——快速掌握区块链技术》是一本深入探讨企业级区块链解决方案Hyperledger Fabric的书籍,其配套资源提供了丰富的实践材料,帮助读者更好地理解和应用这一技术。Hyperledger Fabric是...

    前端项目-fabric.js.zip

    【前端项目-fabric.js.zip】是一个包含前端开发中使用的JavaScript库——Fabric.js的源代码压缩包。Fabric.js是一个强大的HTML5 canvas库,它为开发者提供了一个面向对象的模型,使得在canvas上操作图形变得简单易行...

    fabric-installer-0.7.2_fabric_

    《Fabric Installer 0.7.2:开启你的Minecraft服务器构建之旅》 在Minecraft的世界里,模组(Mods)为玩家带来了无限的创新与乐趣。而Fabric作为一款流行的模组加载器,使得开发者能够更加便捷地创建和安装模组。...

    hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz

    Hyperledger Fabric是一个开源的企业级区块链框架,由Linux基金会领导的Hyperledger项目开发。在这个场景中,我们关注的是`hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz`,这是一个针对Linux 64位平台的Hyper...

    hyperledger-fabric-darwin-amd64-2.2.0.tar.gz

    《Hyperledger Fabric 2.2在MacOS平台的部署与应用》 Hyperledger Fabric是Linux基金会主导的开源项目,是一个企业级的区块链框架,适用于构建分布式账本系统。在这个特定的压缩包“hyperledger-fabric-darwin-amd...

    基于fabric-sdk-java v1.4的demo.zip

    【标题】:“基于fabric-sdk-java v1.4的demo” 在Hyperledger Fabric框架中,Fabric-SDK-Java是用于与区块链网络交互的Java开发工具包。这个“基于fabric-sdk-java v1.4的demo”是一个示例项目,旨在帮助开发者...

    Brocade - Fabric Manager User Guide v4.4.0

    综上所述,Brocade Fabric Manager User Guide v4.4.0 提供了一个全面的指南,帮助用户了解如何有效地使用Brocade Fabric Manager来管理其网络中的Fabric设备。文档不仅涵盖了软件的功能和技术细节,还包括了重要的...

    fabricjs API 中译本

    fabricjs是一款非常强大的Canvas绘图框架,很可惜的是我在网上找了一圈没找到中文翻译,SO为了自己能静下心通读一遍API,同时能造福英文不好的同学,我决定把这个框架的API文档译成中文。 这个文档是我完整翻译的第...

    hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz

    Installing Hyperledger Fabric binaries ===> Downloading version 1.4.0 platform specific fabric binaries ===> Downloading: ...

    fabric-sdk-java+ springBoot 简单invoke和query引用示例

    这是一个基于spingBoot的项目,通过此项目可以实现对fabric网络的简单调用,并且可以启动一个fabric网路的服务,直接在网页上调用. 搭建流程,首先需要fabric1.4的网络, 1进入-first-network目录,修改byfn.sh中...

Global site tag (gtag.js) - Google Analytics