
FabricLearn
文章平均质量分 94
丿风色幻想
种一棵树最好的时间是十年前,其次是现在
展开
-
Hyperledger Fabric 使用 CouchDB 和复杂智能合约开发
在上个实验中,我们已经实现了简单智能合约实现及客户端开发,但该实验中智能合约只有基础的增删改查功能,且其中的数据管理功能与传统 MySQL 比相差甚远。本文将在前面实验的基础上,将 Hyperledger Fabric 的默认数据库支持 LevelDB 改为 CouchDB 模式,以实现更复杂的数据检索功能。此外,对上个实验的简单智能合约进一步进行功能上和设计上的扩展,最终实现了智能合约的分包、分页查询、多字段富查询、查询交易历史记录等功能。原创 2023-04-15 19:07:00 · 1014 阅读 · 0 评论 -
Hyperledger Fabric 智能合约开发及 fabric-sdk-go/fabric-gateway 使用示例
在上个实验 Hyperledger Fabric 多组织多排序节点部署在多个主机上 中,我们已经实现了多组织多排序节点部署在多个主机上,但到目前为止,我们所有的实验都只是研究了联盟链的网络配置方法(尽管这确实是重难点),而没有考虑具体的应用开发。本文将在前面实验的基础上,首先尝试使用 Go 语言开发了一个工作室联盟链的项目信息智能合约,并成功将其部署至联盟链上;然后依据官方示例,使用 fabric-gateway 模块实现了一个能够管理项目信息智能合约的客户端;之后对比了 fabric-gateway 模块原创 2022-06-11 19:37:35 · 37927 阅读 · 1 评论 -
Hyperledger Fabric 通道配置文件和容器环境变量详解
摘要Fabric 网络启动的过程中需要进行大量配置,新学时对各个配置的作用一无所知,这导致我曾在网络出问题时先对配置文件的内容进行排列组合后再祈祷它能在某个时刻顺利运行,因此掌握 fabric 各个配置项的含义至关重要。本文对 configtxgen 的配置文件 configtx.yaml 进行了详细的分析解释,对 peer 、 orderer 、 fabric-ca 容器的常用环境变量也给除了详细说明,其中某些配置由于比较罕见因此并没有展开介绍,直接使用默认值即可,会在将来用上时再更新。准备介绍Fa原创 2022-04-18 19:19:05 · 40403 阅读 · 12 评论 -
Hyperledger Fabric 部署在多个主机上
前言在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council 组织运行维护 Raft 协议的三个 orderer 节点。但目前我们都是在单个主机上启动 Fabric 网络,本文将尝试将 Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务 中的网络结构部署在多个主机上。工作准备本文工作将 Hy原创 2022-04-15 13:15:37 · 45397 阅读 · 0 评论 -
Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务
前言在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、多组织共同运行维护Orderer服务中,我们已经完成了让普通组织运行维护 Orderer 服务,但是最后发现由于运行排序服务的组织需要较为开放的访问策略,可能会降低组织的安全性,所以本实验将尝试使用提供 TLS-CA 服务的 council 组织运行维护 Raft 协议的三个 orderer 节点。本文将在之前的实验基础上,启动一个没有 orderer 组织的 Fabric ,其中由 council 组织提供原创 2022-04-13 13:14:10 · 42310 阅读 · 0 评论 -
Hyperledger Fabric无排序组织以Raft共识算法启动多个Orderer服务、多组织共同运行维护Orderer服务
前言在Hyperledger Fabric无系统通道启动及通道的创建和删除中,我们已经完成了以无系统通道的方式启动 Hyperledger Fabric 网络,并将链码安装到指定通道。但目前为止,实验中的 orderer 服务都是通过单独的排序组织来维护且只有一个,那能不能不要排序组织而使用普通组织来运行维护多个 orderer 服务呢?当然是可以的,本文将在之前的实验基础上,启动一个没有 orderer 组织的 Fabric 网络,网络中包含三个组织且每个组织运行维护着一个 Raft 协议的 order原创 2022-04-12 15:34:26 · 2743 阅读 · 0 评论 -
Hyperledger Fabric无系统通道启动及通道的创建和删除
前言在Hyperledger Fabric组织的动态添加和删除中,我们已经完成了在运行着的网络中动态添加和删除组织,但目前为止,我们启动 orderer 节点的方式都是通过系统通道的方式,这样自带系统通道的网络很不简洁优雅。好在 Fabric 2.3 以上就开始支持无系统通道创建应用通道的功能,本文将对此功能进行详细解释和介绍,然后通过无系统通道的方式启动联盟链网络并在此基础上完成通道的添加和删除。本实验必要的准备工作和 DNS 配置请参考 准备工作。背景介绍实验准备本文网络结构直接将 Hyperl原创 2022-04-11 13:21:00 · 44525 阅读 · 0 评论 -
Hyperledger Fabric节点的动态添加和删除
前言在Hyperledger Fabric组织的动态添加和删除中,我们已经完成了在运行着的网络中动态添加和删除组织。本文将在其基础上,详细介绍了如何在 soft 组织上添加新的 peer2 节点,并在简要概述了删除节点的方法,本实验必要的准备工作和 DNS 配置请参考 准备工作。背景介绍实验准备本文网络结构直接使用 Hyperledger Fabric组织的添加和删除 中创建的2_FabricNetworkUpdate (建议直接将本案例仓库 FabricLearn 下的 2_FabricNetw原创 2022-04-10 12:46:20 · 42227 阅读 · 0 评论 -
Hyperledger Fabric组织的动态添加和删除
在 Fabric定制联盟链网络工程实践 中,我们虚拟了一个工作室的联盟链网络需求,并根据此需求分析了整个网络的架构且已经完成了一个简单 fabric 网络的搭建。本文将在其基础上,在 mychannel 通道上添加新的 hard 组织,并在之后删除 soft 组织,本实验必要的准备工作和 DNS 配置请参考 准备工作。原创 2022-04-09 12:31:15 · 42612 阅读 · 0 评论 -
Hyperledger Fabric定制联盟链网络工程实践
前言总体来看,网络上成体系的可用的 Fabric 教程极少——不是直接在 Fabric 官网复制内容大谈基础理论就是在描述一个几乎无法复现的项目实践,以至于学习 Fabric 的效率极低,印象最深刻的就是我曾经花费几天时间尝试按照官方教程 CA Deployment steps 搭建自己的 CA 服务,却始终无法成功也找不到原因。因此,为了提高生产效率,本项目虚拟了一个工作室联盟链需求并将逐步实现,致力于提供一个易理解、可复现的Fabric学习项目,其中项目部署步骤的各个环节都清晰可见,并且将所有过程打包原创 2022-04-08 10:29:43 · 42336 阅读 · 9 评论 -
Hyperledger Fabric的test-network启动过程Bash源码详解
前言在基于Debian搭建Hyperledger Fabric 2.4开发环境及运行简单案例中,我们已经完成了Fabric 2.4的环境搭建及fabric-samples/test-network官方案例的运行。毫无疑问test-network是一个优秀的入门项目,让我们仅仅通过几行命令就能搭建起常用的Fabric联盟链网络,但我相信很多人第一次使用./network.sh up成功启动联盟链网络时跟我一样是懵的:网络是怎样启动的?它在背后做了什么?该网络包含哪些节点?包含哪些功能?它有什么用?为了解决这原创 2022-04-07 15:03:06 · 41219 阅读 · 0 评论 -
基于Debian搭建Hyperledger Fabric 2.4开发环境及运行简单案例
在基于truffle框架实现以太坊公开拍卖智能合约中我们已经实现了以太坊智能合约的编写及部署,但其工作方式注定其只能应用于有限的业务场景中。相比之下,基于超级账本的Fabric具有高可扩展性和高可定制性,能够应用在更为复杂的商业场景中,但`Fabric`技术涉及很多新的概念,源代码跟新速度快且各版本间兼容性差,对初学者很不友好。为了使能够快速掌握Fabric,本文基于其目前最新的2.4版本搭建了一套区块链运行环境,并在此之上部署了官方示例chaincode并对其进行交互调试,最终整个环境及示例代码能够正常运原创 2022-04-06 15:51:57 · 43072 阅读 · 0 评论