本文汇总整理超过100个超级账本Fabric开发与安装运维相关的教程与工具。
推荐的系统化教程: Fabric Node.js开发详解 | Fabric Java开发详解 | Fabric Golang开发详解
超级账本Fabric基本概念
- 20个最重要的Hyperledger Fabric概念: 本文介绍Hyperleger Fabric区块链的20个最重要的术语和概念,理解 这些概念将极大地改善你的超级账本Fabric区块链的掌握和运用。
- 区块链与分布式超级帐本技术: 在本文中,我们将评估面向平台的主要企业的基本业务功能,包括以太网,Hyperledger Fabric和R3 Corda,无论是通过传统的分布式系统还是通过现代的区块链基础系统,都可以从软件获取其影响的位置以及系统的整体优化方式进行评估。
- Fabtoken - 超级账本Fabric 2.0的神秘宝石: Hyperledger Fabric 2.0 (alpha)中有一个新特性:Fabtoken,可以 原生支持数字加密货币的发行与管理。我们都知道以太坊的ERC20标准可以用来在 以太坊区块链上创建数字加密代币,现在有了Fabtoken,开发者使用 Hyperledger Fabric也可以轻松实现数字加密货币的发行、转账等功能了!
- 手把手教你走进Hyperledger Fabric: 现在,Blockchain是业内新的热门话题。但是,寻找良好的资源来学习这项引人入胜的技术并不是一件容易的事。为了让其他人更容易学习,我开始在区块链和分布式分类帐技术(DLT)平台领域开展一系列工作。我将尽力涵盖每一步都需要掌握这些技术。首先,我从Hyperledger Fabric开始。
- Hyperledger 框架和模块: 通过这篇文章,你会明白:Hyperledger和免许可区块链技术之间的差异、Hyperledger的框架组件、Hyperledger框架(Iroha,Sawtooth,Fabric,Indy和Burrow)、Hyperledger模块(Cello, Explorer, and Composer)。你可以将Hyperledger视为市场,数据共享网络,微货币和去中心化数字社区的操作系统。
- Hyperledger Fabric一个企业级商业解决方案的平台: 区块链将改变我们开展业务的方式。共享不可变的分类帐即超级账本和智能合约编码的组合将重新定义信任在企业中的表现方式。这个关于Hyperledger Fabric的博客将帮助你理解如何在区块链系统上按以下顺序建立业务网络...
Fabric链码开发
- Fabric node.js链码API手册: fabric-contract-api提供了一个高度封装的开发接口,使用该API可以在高层级 编写智能合约的业务逻辑。而fabric-shim则提供了底层的链码开发接口。
- 超级账本Fabric 2.0外部链码实战: 在Hyperledger Fabric 2.0中引入的一个新特性,就是可以 使用外部的链码启动器,这种外部启动链码的方式非常适合 使用kubenetes或dowcker swarm来统一管理节点容器和链码容器。 在这片文章中,我们将学习如何使用外部链码启动器在K8s集群 中部署链码。
- 超级账本Fabric 2.0链码操作详解: Hyperledger Fabric 2.0最近已经发布,其中最引人关注的一点是 链码操作。官方文档虽然对此提供了详细的说明,但本文将通过与 Hyperledger Fabric前一个版本中链码操作的对比,来帮助你更好的 理解新版本中链码操作的不同之处以及幕后的一些技术细节。
- 用链码实现Fabric链上数据加密/解密: Hyperledger Fabric是最流行的区块链开发框架之一,它有独特的定位和一些鲜明 的特点,例如许可制架构、可插拔组件、支持私密交易的通道、模块化以及可扩展性, 因此适合企业联盟链应用的开发。在这篇文章中,我们将介绍如何使用链码加密/解密 保存在Hyperledger Fabric区块链上的敏感数据。
- 超级账本Fabric链码开发的8条军规: 我相信智能合约(链码)是Hyperledger Fabric区块链网络的核心。正确开发 链码可以真正发挥一个安全区块链的优势,反之则会带来 灾难性的后果。在这篇文章里我不打算探讨Hyperledger Fabric链码设计的特定模式的 好与坏,而是希望分享我在开发若干Hyperledger Fabric概念验证应用过程中 总结的一些基本准则。
- 超级账本Fabric状态读写API简介: 在这篇文章中,我们将学习链码读/写Hyperledger Fabric账本中世界状态的方法, 这是利用PutState和GetState这两个API来实现的。此外,GetState还有一些变体的 调用形式,使状态读取的方式更加灵活。
- 通过Java Chaincode实例学习交易系统中基于Hyperledger Fabric帐户的钱包模型: 这是Hyperledger Fabric Java Chaincode的教程。还有Go和NodeJS Chaincodes,我们将来可能会讨论它们。此外,我采用基于帐户的钱包模型作为示例,我们将使用Hyperledger Fabric构建你的第一个网络(BYFN,build your first network),作为我们的测试环境(v1.4网络)。
- ERC20 代币作为 Hyperledger Fabric Golang 链码:
与以太坊区块链一样,Hyperledger Fabric平台(HLF)可用于创建代币,实现为智能合约(HLF术语中的链码),用于保存用户余额。与以太坊不同,HLF链码不能将用户地址用作持有者密钥,因此我们将使用成员资格服务提供程序(MSP)标识符和用户证书标识符的组合。下面是一个简单的示例,说明如何使用CCKit链码库在Hyperledger Fabric平台上创建代币作为Golang链码。 - Fabric Node.js链码开发秒懂: Hyperledger Fabric是一种联盟区块链,Fabric区块链也支持智能合约,被称为链码(Chaincode)。Fabric链码就是一个标准的(运行在docker容器中的)操作系统进程,通过gRPC协议与Fabric节点通信。因此理论上可以使用任何语言开发Fabric链码。目前官方提供了三种开发语言的Fabric链码开发工具包:Go、Java和Node.js,本文将介绍如何使用node.js开发Fabric链码。
- 用.NET/C#开发Fabric链码: 本教程介绍如何使用.NET Core开发一个简单的Hyperledger Fabric 链码,用于进行基本的资产管理和转账操作。如果你是一个熟练的.NET/C#开发人员, 由于种种原因需要使用Hyperledger Fabric作为区块链平台,那么除了 转身投入Java/Node.js/Go的怀抱之外,这也提供了另外一种选择。
- 如何编写Golang链码并调用链码函数: Chaincode是我们定义应用程序逻辑(函数)的地方。Chaincode需要安装在将与Hyperledger fabric交互的每个节点上。它还需要在通道上实例化。之后,最终用户可以通过与网络节点连接的客户端应用程序调用链代码功能。Chaincode是用Go,node.js或Java编写的程序,它实现了指定的接口。
Fabric应用开发
- fabric区块链Go语言SDK快速入门: fabric-sdk-go是Hyperledger Fabric官方提供的Go语言开发包, 应用程序可以利用fabric-sdk-go与fabric网络进行交互并访问链码。 本教程介绍如何使用fabric-sdk-go实现链码的安装、实例化、交易提交 和状态查询等操作。
- Farbic Java SDK 1.4安装方法: Hyperledger Fabric Java SDK是开发基于Hyperledger Fabric区块链的Java 应用之必备开发包。本文将介绍如何在Maven、Gradle和Eclipse中安装使用Hyperledger Fabric Java SDK。
- Fabric java sdk 1.4简明教程: 在超级账本Fabric区块链中,应用通过节点的RPC协议接口访问链码。Java应用可以使用 官方提供的Fabric-sdk-java开发包来实现对链码的访问,开发包封装了Fabric 区块链的GRPC链码访问协议,有利于开发人员聚焦于业务逻辑。不过Fabric-sdk-java的文档质量保持了Hyperledger Fabric产品一贯的不知所云,看起来实在是令人捉急。本文将尝试编写 一个最简单的可以访问Fabric链码的Java应用,来帮助你快速上手Farbic区块链 的Java应用开发。
- 使用Hyperledger Fabric Java SDK 构建和部署区块链网络: 学习如何使用Hyperledger Fabric SDK Java创建,部署和测试区块链网络。此模式将提供由两个组织组成的Hyperledger Fabric 1.1网络,每个组织维护两个对等节点,每个组织有两个证书颁发机构(ca)和一个单独订购服务。
- Fabric node sdk 1.4简明教程: hyperledger fabric的node sdk最新版本为1.4,本文将介绍如何使用最新版本 的fabric node sdk开发node.js应用,以实现与fabric区块链的交互,例如查询链码状态, 或者提交链码交易。本文分五个部分来介绍node.js开发人员如何快速上手fabric node sdk。
- Fabric Node.js开发中如何使用日志: Hyperledger Fabric Node.js开发中如何使用日志?本教程就来演示下如何使用hyperledgefabric node.js客户端日志记录功能。
- fabric-sdk-node应用中使用CouchDB钱包: 当应用与Hyperledger Fabric网络交互时,Fabric节点会首先验证 应用的身份,也就是应用所持有的证书是否允许访问Hyperledger Fabric 网络。在Hyperledger中,这些身份信息保存在钱包中。在这个教程中 我们将介绍如何在应用中使用CouchDB钱包来保存证书和私钥资料。
- 超级账本Fabric Node.js应用中如何使用基于通道的事件服务: 本教程说明了基于通道的事件的使用。这些事件与现有事件类似,但是特定于单个通道。在设置侦听器时,客户端处理基于通道的事件有一些新选项。从v1.1开始,基于通道的事件是Hyperledger Fabric Node.js客户端的新功能。
- Hyperledger Fabric PHP SDK: Hyperledger Fabric PHP SDK是社区提供的用于Hyperledger Fabric区块链应用 开发的软件包,其目的在于为PHP应用提供访问Hyperledger Farbic区块链的能力, 例如:创建通道、安装链码、访问链码等等。
- 如何监听Fabric链码的事件: 在本文中,我们将讨论Fabric链码中不同类型的基于通道的事件和事件监听器,何时使用它们,特别是我们将学习如何实现Fabric chaincode事件监听器。本文简化并详细解释了有关Fabric主题的官方教程的版本,因此我们建议你也阅读。
- 超级账本Fabric如何查询历史交易
在以太坊、比特币等区块链平台中,通常都会提供简单的JSON RPC API接口, 应用程序只需要调用这些RPC API,就可以查询区块或历史交易了。Hyperledger Fabric 也有类似的API,但情况略有不同,根据查询目的区别,可以分为两种方法。 - 超级账本Fabric Rest API服务开发教程与代码: Hyperledger Fabric 提供了软件开发包/SDK以帮助开发者访问fabric网络 和部署在网络上的链码,但是Hyperledger Fabric官方没有提供简单易用的REST API访问接口,在这个教程里我们将学习如何利用Hyperledger Fabric的SDK 来开发REST API服务器。
- 如何编写一个企业级Hyperledger Fabric开源框架: Convector(a.k.a Convector Smart Contracts)是为企业区块链框架构建的JavaScript开发框架。它增强了开发体验,同时帮助开发人员创建更强大,更安全的智能合约系统。它通过链代码和后端一直到前端,允许开发人员以库的形式重用相同的代码库。它基于模型/控制器模式,支持Hyperledger Fabric,并沿着Fabric精心设计的模式本地运行。
- 使用Hyperledger Fabric和Composer实现区块链应用程序: 目前无法绕过技术领域的是区块链话题。但除了加密货币之外,还有更多有趣的应用程序可以带来许多激动人心的软件生态系统。这也适用于Hyperledger项目,该项目提供了一个非常模块化的区块链框架。让我们看看使用Hyperledger Fabric和Composer实现区块链应用程序是多么容易
Fabric共识算法与排序服务
- 深入理解超级账本Fabric交易背书机制: Hyperledger Fabric和其他许多区块链的关键区别之一,就在于 Fabric区块链的交易执行过程:Fabric交易需要首先通过节点的背书, 然后再进行交易排序,最后才利用有序交易进行账本的更新。 本文将介绍Hyperledger Fabric所采用的执行-排序-验证这一三步 交易模型的工作原理,以及引入背书环节对Hyperledger Fabric区块链 性能的有益作用。
- 超级账本Fabric Raft排序服务多机部署实践: Raft是Hyperledger Fabric 1.4.1中新增的排序服务模块, 这个教程将介绍如何部署一个基于Raft排序服务的多机Fabric 网络。
- Fabric区块链Raft共识深度解析与实战: Raft共识插件是在Hyperledger Fabric 1.4.1后引入的,与之前 已有的Solo共识和Kafka共识相比,Raft共识更适合生产环境。本文 将介绍共识的基本概念、Raft共识的原理并深入探讨基于Raft共识的 Hyperledger Fabric排序服务。
- Fabric区块链Kafka入门: Hyperledger Fabric推荐Kafa用于生产环境。Kafa是一个分布式、具有水平伸缩能力、崩溃容错能力 的日志系统。在Hyperledger Fabric区块链中可以有多个Kafka节点,使用zookeeper进行同步管理。 本文将介绍Kfaka的基本工作原理,以及在Hyperledger Fabric中使用Kafka和zookeeper实现共识的原理, 并通过一个实例剖析Hyperledger Farbic中Kafka共识的达成过程。
Fabric身份认证与数据隐私
- Fabric CA使用手册:Fabric CA服务器和客户端官方文档中文版
- 超级账本Fabric中的身份机制原理与实践: 身份是许可区块链平台的一个重要特征。在Hyperledger Fabric中,需要在访问结构网络之前识别每个组件。身份Identity由X.509数字证书表示。当与结构网络交互时,该actor指定并呈现数字证书,并且结构网络基于该策略接受或拒绝。在本文中,我们首先运行基本网络并在其上部署Simple Asset Chaincode。通过检查容器设置和链代码操作,我们将看到在链代码调用期间如何呈现身份。最后,我们引入客户端身份链代码库来捕获用户的身份并基于主题执行访问控制。
- 在超级账本Fabric区块链应用中使用第三方CA: Hyperledger Fabric(HF)为终端用户使用自有CA提供了fabric-ca 工具。然而在生产环境中应当尽可能保证根CA的安全性,例如让 根CA离线,而将Hyperledger Fabric环境中的证书签发代理给中间 CA。在本文中,我们将介绍如何使用第三方CA作为根CA,使用fabric-ca 作为中间CA,以及如何在CA信任链中整合第三方CA与fabric-ca。
- 超级账本 Fabric双向TLS配置与连接方法: Hyperleder Fabric区块链支持在通信节点之间启用TLS传输层安全通信, TLS支持单向验证 - 仅验证服务节点身份,或双向验证 - 同时验证 服务节点和客户端节点的身份。本文将介绍如何在Hyperledger Fabric 网络中启用双向TLS安全通信。
- 超级账本Fabric CA教程: Fabric-CA是Hyperledger Fabric自带的证书管理工具,对于 开发和测试非常方便。在这个教程中我们将探索Fabric-CA的 使用方法并利用它完成用户的注册/Register和登记/Enrollment。
- Fabric private data基本概念: fabric private data利用SideDB来保存私有数据,相当于在通道之上 又提供了一层更细粒度的数据隐私保护机制。本文将介绍fabric private data 的引入目的、基本概念与应用场景。
- 超级账本Fabric私有数据与暂态数据: 在Hyperledger Fabric中有两个相关的概念:私有数据(Private Data) 和暂态数据(Transient Data)。本文提供四个示例程序,分别对应 私有数据和暂态数据的四种组合使用方式,并通过观察账本的交易以及 世界状态数据库,理解为什么在使用私有数据时应当采用暂态数据作为输入。
- Fabric private data入门实战: Hyperledger Fabric private data是1.2版本引入的新特性,fabric private data是 利用旁支数据库(SideDB)来保存若干个通道成员之间的私有数据,从而在通道之上 又提供了一层更灵活的数据保护机制。本文将介绍如何在链码开发中使用fabric private data。
- Hyperledger Composer Rest服务器的Passport-JWT身份验证: 我们最近介绍了Hyperledger Composer入门,在本文中,我们将执行以下操作:创建示例业务网络定义、使用Docker和PassportJWT身份验证生成Composer Rest服务器、使用自定义JWT令牌使用Authenticated API。
Fabric区块链比选与兼容
- 以太坊和Hyperledger Fabric之间的差异: 在这篇文章中,我们将介绍区块链中两个主要平台之间的差异:以太坊和Hyperledger。如果你正在考虑在项目中使用哪一个。这个博客的亮点是希望帮助你做出决定。但在我们详细说明之前,我们先来看一些定义。
- 用Solidity智能合约实现超级账本Fabric与ARK公链跨链: 我想展示如何将公共区块链(如ARK.io)的功能与私有区块链(如Hyperledger)结合起来。特别是,我们将看到ARK.io上的交易如何触发在Hyperledger Fabric + Burrow中部署的Solidity Smart Contract的执行。
- Hyperledger Fabric可以支持以太坊: 本着扩展选择的精神,Hyperledger Fabric现在支持以太坊虚拟机(EVM)字节码智能合约。合约现在可以用Solidity或Vyper等语言编写。除了引入新的智能合约运行时,Fabric还有一个相应的web3提供程序,可用于使用web3.js开发去中心化的应用程序(DApps)。这一新功能是1.3版本的一部分,其目标是使开发人员能够为许可平台迁移或创建DApp。
- 超级账本Fabric如何通过虚拟机部署以太坊智能合约: EVM作为用户链代码安装到Fabric中,然后可以通过它部署智能合约。单个EVM链代码足以在通道上运行多个以太坊智能合约。链码不采用以太坊的共识方法。所有事务仍将遵循Fabric事务流中的执行,订单,验证步骤。确保在不同组织中的足够对等方安装链代码,并设置一个确保一定程度的分散的认可政策。为了与已部署的智能合约进行交互,有一个fab3,它从以太坊JSON RPC API实现一组有限的API,因此可以用作web3提供者。
Fabric性能基准测试
- 超级账本Caliper测试框架文档: Hyperledger Caliper是一个通用的区块链性能测试框架,它允许 用户使用自定义的用例测试不同的区块链解决方案,并得到一组性能测试结果。 中文文档由汇智网翻译整理。
- 超级账本Caliper多排序节点基准测试: 在这个教程中,我们将学习如何使用Hyperledger Caliper对包含 多个排序节点的Fabric网络进行基准测试,我们使用Docker Swarm 作为容器编排工具。
- Hyperledger Fabric能否大规模运行: 在我主持的IBM博客上,我发起了一系列帖子,旨在提供有关Hyperledger Fabric的性能和规模的信息。我关于这个主题的最初博客文章开始概述了一些改进Hyperledger Fabric性能的最佳实践,这些实践是我从Fabric认可策略,负载平衡和orderer配置的实验中收集到的。我最近的帖子解决了Fabric对扩展其通道架构能力的一种常见误解。
Fabric网络运维
- 超级账本Fabric命令手册: Hyperledger Fabric区块链的部署与运维依赖于几个重要的命令行工具:peer、configtxgen、configtxlator、cryptogen、fabric-ca。
- Fabric命令环境变量手册: Fabric命令行程序以来的环境变量说明。
- configtx.yaml中文详解: configtx.yaml是Hyperledger Fabric区块链网络运维工具configtxgen用于 生成通道创世块或通道交易的配置文件,configtx.yaml的内容直接决定了所生成 的创世区块的内容。本文将给出configtx.yaml的详细中文说明。
- 超级账本区块链浏览器官方文档中文版: 超级账本官方提供的区块链浏览器是一个简单易用的开源工具,可以用于监视 区块链网络中的活动。Hyperledger Explorer支持Fabric、Iroha等 多种区块链,可以运行在MocOS和Ubuntu下。
- 超级账本区块链浏览器中文版快速安装教程: 超级账本区块链浏览器的官方安装步骤有点复杂,建议参考这个快速安装教程,同样适用于英文原版。
- 超级账本Fabric的运维服务与可视化监控: Hyperledger Fabric是强调运维的区块链,Fabric自1.4版本开始就包含 了用于peer和orderer节点运维的特性。本教程将介绍如何配置Fabric网络节点 的运维管理服务,以及如何使用Prometheus和statsD/Graphite来可视化监控 Hyperledger Fabric网络中各节点的实时运行指标。
Fabric网络安装部署
- Fabric BYFN网络一键安装工具: Byfn.win 是Hyperledger Fabric著名的byfn.sh脚本的Windows 版本的移植,用于帮助开发人员在Windows环境中快速搭建Hyperledger Fabric链码及应用开发环境。官方下载地址。
- 超级账本Fabric 2.0 安装教程: 本文介绍如何安装最新的Hyperledger Fabric 2.0的预编译程序、 fabric-samples示例配置和代码以及docker镜像。
- 超级账本Fabric 1.4 多通道实验: Hyperledger Fabric支持在一组相同的机构之间的多通道部署, 每个通道都相当于一个单独的区块链。Fabric的多通道特性 不仅可以满足机构之间不同的数据共享需求,同时也可以提高 整个Fabric网络的吞吐量。本文将演示如何使用Hyperledger Fabric 1.4.3搭建一个多通道的区块链网络、部署并访问链码。
- 超级账本Fabric多机部署教程: Hyperledger Fabric区块链网络搭建以繁琐著称。本教程将介绍 如何部署一个分布在4个主机上包含多个排序节点和对等节点的 hyperledger fabric区块链集群网络,同时提供源码和配置文件下载。
- 如何设置Hyperledger Fabric主机并构建机器镜像
这里我以AWS为例。通过构建我自己的亚马逊机器镜像(AMI),我可以轻松启动包含我需要的所有组件的EC2实例。我们的主机将运行Ubuntu18.04,包含必备和Hyperledger Fabric相关工具和镜像。安装好所有东西后,我会把它变成AMI。最后,我们将展示如何使用此AMI启动新主机。最后一步正是我们下次需要新的Hyperledger Fabric主机时需要做的事情。 - 如何使用Hyperledger Fabric和Composer构建区块链网络:
如何使用Hyperledger Fabric和Composer构建区块链网络,这是一个区块链开发入门人员的教程。在开始之前要说明Hyperledger Fabric仅在基于Unix的操作系统上运行。因此,它将无法在Windows上运行,这将对你可以执行的操作进行限制。如果你在继续操作之前运行Windows,我建议你设置虚拟机。 - 多个主机上的Hyperledger Fabric: 没有教程或指南可以帮助你跨多个主机部署网络。许多人在同一问题上围绕不同的论坛挣扎。我决定首先研究现有的样本,以了解超级分类网络的不同组件如何能够在单个主机上进行通信。
- 在一台Ubuntu计算机上构建Hyperledger Fabric网络: 在本教程中,我们将演示如何使用Cello将具有所有必要组件的小型Hyperledger Fabric(版本1.0.2)网络部署到单个Ubuntu服务器,以便你可以开始开发基于区块链的应用程序。
- Hyperledger Fabric中三节点双通道设置的演示(一) / (二): 从λ.eranga有一种更简单的方法。通过使用额外的主机。这使得运行容器之间的通信更容易,只要我们在启动网络时提供必要的信息。受这项工作的启发,我在这里部署了一个在三台独立机器上运行的三组织结构网络。更有趣的是我将在此设置上部署两个频道,并了解事情是如何运作的。
- 超级账本Fabric的容灾备份及恢复方法简介: Hyperledger Fabric日益增强的潜力使得许多企业正在尝试使用fabric。当使用涉及更多peers和orderers的大型网络时,维护超级账本数据的备份非常重要。如果网络出现故障,这将有所帮助。它还有助于开发阶段,因为可以使用备份数据来执行将来的测试。在本文中,我将介绍如何进行备份以及如何在Hyperledger Fabric中使用备份。
- 如何创建 Hyperledger Fabric 通道: 本教程演示如何使用node.js fabric client sdk创建Hyperledger fabric 通道,也有的人叫频道。它演示了如何使用初始化(默认)通道定义以及如何从该定义开始构建自定义的通道定义。创建网络和通道的过程还涉及创建和使用加密资料,这里不讨论这一点。
- 如何在现有Fabric网络上添加一个Org : 如何在现有Fabric网络上添加一个Org?本指南基于IBM DeveloperWorks——使用简单的工具将组织添加到现有的Hyperledger Fabric区块链网络中。