首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hyperledger Fabric 系统架构详解

Hyperledger 概述 要学习Hyperledger Fabric,先来看看它的母项目Hyperledger是什么。...是一个可视化区块链的操作工具,可以用于创建对用户友好的 Web 应用程序;是首个Hyperledger的区块链浏览器,用户可以查看/调用/部署/查询交易、网络、智能合约、存储等信息。...链码主要分成系统链码和用户链码两种,系统链码嵌入在系统内,提供对系统进行配置、管理的支持;而用户链码则是运行在单独的 Docker 容器中,提供对上层应用的支持用户通过链码相关的 API 编写用户链码...分布式账本主要记录世界状态(最新的分布式账本状态,一般使用CouchDB以方便查询)和事务日志(世界状态的更新历史,记录区块链结构,使用LevelDB),对账本的每个操作都会记录在日志中,不可篡改。...Fabric 支持多种背书策略,Client 在提交至排序节点前会验证是否满足背书要求,值得注意的是如果只做了查询账本操作,Client 不会提交至 OSN。

1.7K10
您找到你想要的搜索结果了吗?
是的
没有找到

Hyperledger Fabric基础知识

Hyperledger孵化并支持一系列区块链业务技术,框架,库和应用程序。Hyperledger项目托管了多个区块链框架,包括Hyperledger Fabric。...blockchain是记录所有交易的交易日志历史记录。 Smart contract。Hyperledger Fabric智能合约称为chaincode。...MSP管理用户ID并验证网络上的所有参与者,从而使Hyperledger Fabric成为一个私有的和准入的网络。 Ordering service。...Ordering service目前只支持Solo和Kafka。 下图是Hyperledger Fabric的组件和构成: ? image Hyperledger架构是怎么工作的?...SDK提供了一种执行用户链码,在网络中执行事务,监视事件等的方法。 要编写区块链应用程序,您需要: 用受支持的编程语言(例如Go)编写chaincode。

2K10

Fabric区块链kafka共识入门 原

Hyperledger Fabric推荐Kafa用于生产环境。Kafa是一个分布式、具有水平伸缩能力、崩溃容错能力 的日志系统。...在Hyperledger Fabric区块链中可以有多个Kafka节点,使用zookeeper进行同步管理。...中的Kafka 要理解在超级账本Hyperledger Fabric中的Kafka是如何工作的,首先需要理解几个重要的术语: Chain - 指的是一组客户端(通道/channel)可以访问的日志 Channel...虽然Kafka支持崩溃容错,它并不能提供对网络中恶意攻击的保护。需要一种拜占庭容错方案(BFT)才可以对抗恶意的攻击,但是目前Hyperledger Farbic框架中还有待实现这一机制。...总而言之,在Hyperledger Farbic中,Kafka共识模块是可以用于生产环境的,它可以支持崩溃容错, 但无法对抗恶意攻击。

2.1K20

企业应该选择哪种区块链

用户进行交易时,他们希望在交易完成后确信交易不能随意更改或撤消。...HyperLedger Fabric还提供了几个可插拔的组件。账本数据可以以多种格式存储,一致的机制可以被转换和输出,并且支持不同的MSPs。...共享帐本 HyperLedger Fabric底下有分出两大子系统,包括:世界状态(world state)和事务日志(transaction log)。...HyperLedger Fabric支持需要将隐私(使用信道)作为关键操作需求的网络,同时也是相对开放的网络。 共识 事务必须按照它们发生的顺序写在帐本上,即使它们可能是网络中不同的参与者生成的。...总而言之,注重隐私则可通过设定参与者(节点)的权限是否须经认证:许可制(Permissioned)以及非许可制、开放式(Permissionless),区块链的透明程度、以及加入是否向公众开放:以公、私有链去区分

1.5K00

99%的人都不懂中本聪、V神这么牛靠的是什么?一张图而已!

它旨在支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性。 Hyperledger Fabric 提供了一种独特的弹性和可扩展的体系结构,使其不同于其他区块链解决方案。...Hyperledger Fabric 的分层架构设计 Hyperledger Fabric 可以分为7层,分别是存储层、数据层、通道层、网络层、共识层、合约层、应用层。...每个通道都是一个独立的区块链,因此多个用户可以共用同一个区块链系统,而不用担心信息泄漏问题。 网络层用于给区块链网络中各个通信节点提供 P2P 网络支持,是保障区块链账本一致性的基础服务之一。...Hyperledger Fabric 利用 Kafka 对交易信息进行排序处理,提供高吞吐、低延时的处理能力,并且在集群内部支持节点故障容错。...应用层是 Hyperledger Fabric 的各个应用程序。

1K21

快速搭建Fabric测试网络(Docker in Ubantu 18.04 TLS)

准备工作(Prerequisites) 在开始之前,检查一下你的准备开发或者测试Fabric的平台是否有安装如下软件。...wff/go 构建你的第一个网络(Building Your First Network) 构建你的第一个网络(byfn)方案提供了一个Hyperledger Fabric示例网络,该网络由两个组织组成...$ cd ~ $ mkdir hyperledger-fabric $ cd hyperledger-fabric $ curl -sSL https://raw.githubusercontent.com...$ cd ~/hyperledger-fabric/fabric-samples/first-network/ $ ....所以,接下来,我会深入写一篇关于手动构建fabric网络,包括自己生成组织,证书,启动排序、对等节点,以及手撸链码的日志。等有空再说吧,现在正在给fabric加密类型增加国密算法,可能懒得写了就。

69810

深入理解Fabric环境搭建的详细过程

1.生成公私钥和证书 Fabric中有两种类型的公私钥和证书,一种是给节点之前通讯安全而准备的TLS证书,另一种是用户登录和权限控制的用户证书。...环境的docker-compose文件 前面对节点和用户的公私钥以及证书,还有创世区块都生成完毕,接下来我们就可以配置docker-compose的yaml文件,启动Fabric的Docker环境了。..."100","b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')" 如果我们新开一个Ubuntu终端,去查看peer0.org1上的日志...,那么就可以知道整个实例化的过程到底干了什么: docker logs -f peer0.org1.example.com 主要几行重要的日志: 2017-08-29 21:14:12.290 UTC...-c '{"Args":["invoke","a","b","10"]}' 5.4在另一个节点上查询交易 前面的操作都是在org1下面做的,那么处于同一个区块链(同一个Channel下)的org2,是否会看

1.9K10

Hyperledger Explorer 环境搭建详解

Hyperledger Explorer是一个简单,功能强大,易于使用,高度可维护的开源区块链浏览器,用于查看底层区块链网络上的活动。 网络上很多教程按着操作是不行得,今天抽空记录一下详细教程。...markximo/article/details/80449626 4、gcc-c++安装 yum install -y gcc-c++ 5、下载源码 git clone https://github.com/hyperledger...创建数据库命名同上面配置,此处为fabricexplorer 创建表,需要切换到刚才创建的用户下操作,脚本在blockchain-explorer/app/persistence/fabric/postgreSQL...,替换文中所有的fabric-path为fabric-samples所在的路径即可,其他的均可不做修改 ?.../start.sh 启动后看下日志是否正常,日志位于blockchain-explorer/logs/console/目录下,出现以下类似日志说明已经成功部署。 ? ! 12、打开浏览器预览 ? ?

1.2K10

fabric区块链(六)—解析basic智能合约(go)

"github.com/hyperledger/fabric-contract-api-go/contractapi": 这是一个Hyperledger Fabric提供的用于编写智能合约的Go API...= nil { ... }: 这是一个错误处理的条件语句,用于检查链码实例的创建过程中是否发生了错误。如果发生错误,将会输出错误日志并终止程序运行。...= nil { ... }: 这是另一个错误处理的条件语句,用于检查链码实例的启动过程中是否发生了错误。如果发生错误,将会输出错误日志并终止程序运行。...在总体上,这段代码的功能是创建一个基于Hyperledger Fabric的区块链应用程序,并启动该应用程序的链码实例。...它使用了Hyperledger Fabric提供的链码API和自定义的智能合约实现。如果创建或启动过程中出现错误,程序将输出相应的错误日志并终止运行。

67530

Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之环境部署

责任性:用来定义确定所有各方是否都认为该协议得以遵守的条件。...尽管 Bluemix 支持运行完整的 IBM 区块链网络,但它目前还不支持使用 Java 语言开发链代码。预计此情况很快就会发生变化,所以请时刻关注。...可以在 Gradle 主页 上进一步了解 Gradle(和它的一些知名度高的用户)。...请参阅 Hyperledger 设置文档中的 “日志控制” 了解日志级别的更多信息。 可以在 Docker 网站 上找到有关 Docker Compose YML 文件定义的更多信息。...这意味着 fabric 不需要您发送任何类型的最终用户凭证。安全性不属于本教程的讨论范围,但是如果您有兴趣了解更多信息,可以根据您的链代码请求来查阅这篇安全功能说明。

2.8K20

fabric区块链(六)—解析basic智能合约(go)

github.com/hyperledger/fabric-contract-api-go/contractapi": 这是一个Hyperledger Fabric提供的用于编写智能合约的Go API的包...github.com/hyperledger/fabric-samples/asset-transfer-basic/chaincode-go/chaincode": 这是一个与Hyperledger...= nil { ... }: 这是一个错误处理的条件语句,用于检查链码实例的创建过程中是否发生了错误。如果发生错误,将会输出错误日志并终止程序运行。...= nil { ... }: 这是另一个错误处理的条件语句,用于检查链码实例的启动过程中是否发生了错误。如果发生错误,将会输出错误日志并终止程序运行。...它使用了Hyperledger Fabric提供的链码API和自定义的智能合约实现。如果创建或启动过程中出现错误,程序将输出相应的错误日志并终止运行。

55110

Hyperledger Fabric

入门 在我们开始之前,如果你还没有这样做,你可能希望检查是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了所有前提条件。...前提条件 在我们开始之前,如果你还没有这样做,你可能希望检查您是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了以下所有前提条件。...暂时不支持Node.js 9.x。...Node.js将会安装NPM,但是,建议你确认安装了NPM的版本,你可以使用以下命令升级npm工具: npm install npm@5.6.0 -g Python 以下仅适用于ubuntu 16.04用户...Hyperledger Fabric SDKs Hyperledger Fabric提供了许多SDK来支持各种编程语言,官方发布了两款针对Node.js和Java的SDK: Hyperledger Fabric

2.2K30

Fabric简介

一、Hyperledger Fabric是什么 Hyperledger Fabric是面向企业应用场景的开源分布式账本平台。...二、Hyperledger Fabric的相关组件 Hyperledger Fabric主要由以下几个组件构成,fabric-ca, fabric-peer, fabric-orderer, fabric-kafaka...Fabric-ca的主要作用是为组织内的成员颁发证书。每个组织都有自己的根证书,用于识别用户身份。 Fabric-peer是运行在用户组织内的节点上。...Fabric-orderer, fabric-kafaka, fabric-zookeeper主要是提供orderer服务,用户将请求提交给orderer, orderer对用户的请求进行排序,通过排序从而保证分布式业务的顺序...e) 对于区块存储文件,单个文件大小是否有限制。 目前在fabric里,区块是存在一个个文件里的,单个文件的大小是64M。

2.5K30

Hyperledger Fabric基础之账本

参考 https://hyperledger-fabric.readthedocs.io/en/release-1.2/ledger/ledger.html Ledger记账本是Hyperdger Fabric...同理Hyperledger Fabric结构也是类似的,需要记录Asset资产的当前状态和交易的历史。 区块链的账本 区块链的账本包含两部分,world state(世界的状态?整体的状态?)...(2) 区块数据段 B2开始保存的都是有序的交易日志。 (3) 区块的元数据 包含区块写入的时间戳,证书,公钥,写入者的签名,是否合法的标记位等。 交易 参考下图交易数据的具体结构 ?...World State数据库的选择 Hyperledger Fabric当前支持Level DB和CouchDB. Level DB适合于简单的key-value键值对,嵌入网络的peer节点进程。...基础完结, 后面我们会通过Hyperledger Fabric的入门例子, 实际操作和配置, 使用Go和Nodejs编写联链码。

89300
领券