fabric-samples到底包含了哪些案例?

00 导言

      在上一讲《Fabric 环境搭建时bootstrap.sh帮我们做了什么?》中,我们知道bootstrap.sh帮我们做了三件事:

  1. 从github上克隆 hyperledger/fabric-samples并进入该目录,然后检出适当的版本
  2. 在fabric-samples目录下安装特定平台的 Hyperledger Fabric 二进制可执行文件 和配置文件
  3. 下载 指定版本的Hyperledger Fabric 的docker镜像

      其中第一件事情就是从github上克隆 hyperledger/fabric-samples,克隆完成后,它里面包含的目录如下。
360截图20180806161424892.png

      接下来我们来介绍一下这些目录是干什么的?这些目录里包含了一些什么?

01 balance-transfer目录

      这是一个转账的案例,通过node.js SDK完成如下功能:创建通道(chanel),加入通道,部署链码(chaincode-就是智能合约),实例化链码,调用链码完成交易,以及查询链码等功能。链码的编程语言提供了两种语言的示例:golang和node.js语言。而app端又提供了两种语言的示例:node.js和typescript。整体如下图。


360截图20180806161613515.png

02 basic-network目录

      该目录提供了一系列shell脚本,去生成初始化并启动一个最基本的网络,包含一个order节点,一个组织下的一个普通的peer节点。

脚本 作用
init.sh 删除之前存储的证书数据
generate.sh 生成加密材料、创世区块、通道等
start.sh 启动网络
stop.sh 删除网络
teardown.sh 彻底删除所有与网络有关的证据(删除存储和镜像)

03 chaincode目录

      该目录是一些链码的示例,包括以下目录:

目录 作用
abac Attribute-Based Access Control 基于身份属性的访问控制
chaincode_example02 一个简单的账户间转账和查询 的示例
fabcar 一个关于汽车的综合示例,提供了Fabric功能的广泛演示。 演示与证书颁发机构进行交互并生成注册证书的过程,用这些身份来查询和更新帐本
marbles02 弹珠资产管理链码,演示couchDB的富查询(基于json)
marbles02-private 暂不了解
sacc SimpleAssetChainCode 简单资产管理链码示例

04 chaincode-docker-devmode目录

      该目录演示在开发网络时,利用预生成的order和chanel来启动“开发模式”。 这样,用户可以立即进入编译链码和驱动调用的过程。

      通常,链码由peer节点启动和维护。 然而,在“开发模式”中,链码由用户构建和启动。在链代码开发阶段,此模式非常有用,可用于快速代码/构建/运行/调试。

05 fabcar目录

      一个汽车的例子,主要是通过单机配置模拟环境,实现管理员admin用户的enrollAdmin(注册管理),其他用户的注册(主要是指user1),以及实现query和invoke。

      该目录下主要包含的是一些js文件和一个startFabric.sh,没有包含链码(相关的链码放在chaincode/fabcar目录下)。运行startFabric.sh会先运行basic-network启动网络。

06 fabric-ca目录

      演示如何使用Hyperledger Fabric CA客户端和服务器为order,peer,管理员和最终用户生成加密证书上,以便私钥永远不会离开生成它们的主机或容器。

      为啥要使用CA呢? cryptogen加密工具不适用于生产环境,因为它在一个位置生成所有私钥,然后必须将其复制到适当的主机或容器。

07 first-network目录

      我们平常说的搭建hyperledger fabric环境,一般指的是就是部署运行这个示例。该目录下提供一个脚本byfn.sh文件,该文件提供一条龙服务,演示了生成证书,启动网络节点(两个组织,每个组织有2个节点),以及部署、实例化链码,并调用链码进行转账和查询,最后停止整个网络。本示例采用的是solo共识服务机制。

08 high-throughput目录

      访目录提供的案例,用于演示如何正确设计链码数据模型,以处理在每秒数千个并发事务,这些事务都更新了账本的相同资产。实际上就如何处理高并发的情况!

09 scripts目录

      访目录提供了两种不同的脚本,一个是bootstrap.sh,该脚本跟《Fabric 环境搭建时bootstrap.sh帮我们做了什么?》中说的bootstrap.sh几乎一致,只是少了个sampleInstall这个过程。

      还有一种是Jenkins_Scripts,对这行种脚本小编了解得不多,只知道Jenkins是一种基于Java开发的一种持续集成工具。

10 总结

      到此为止,我们几乎把fabric-samples的一级目录和文件都作了个简单的介绍。

      学习hyperledger fabric,我们除了首先要学习环境怎么部署和搭建之外,还需要通过一些案例来透彻理解fabric的架构设计、账户体系、授权认证机制、以及智能合约和SDK等方方面面的内容。而fabric-samples里正好包含了若干案例,来帮助我们达到这些目标。可以说,只要认真研究了fabric-samples提供的这些案例,基本上已经对hyperledger fabric的技术知识体系和动作原理有一定的了解了,接下来就要多多参与到工程级别的项目开发中,积累更多业务方面的经验,让hyperledger fabric更接地气,更面向实际业务场景!

      由于小编的技术和业务水平有限,未能完全参透此目录的所有案例的内容。所以在这一讲中,我们只是简单介绍了一下各案例和对应的目录结构,后期,我们还会出一系列的文章来详细讲解这些案例并把这些案例部署运行起来。敬请期待

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容