Hyperledger Fabric开源于2015年12月,截至2018年2月初有185个公司/组织成员加入。最初由IBM和DAH的工程师贡献,现在约有70名的代码贡献者,4000+代码提交,代码行数12万行左右。应用开发者使用SDK与Fabric平台交互,目前提供Node, Java和Python SDK,在Github上都可以搜索到。代码贡献方式介绍:https://hyperledger-fabric.readthedocs.io/en/release/CONTRIBUTING.html

代码贡献流程视频介绍(9分32秒开始):http://v.youku.com/v_show/id_XMjYyMTU0MzEwMA==.html?spm=a2h0j.11185381.listitem_page1.5!2~A&f=50775994&from=y1.2-3.4.2

源码分析中文文档:https://www.gitbook.com/book/yeasy/hyperledger_code_fabric/details

中国技术工作组:https://wiki.hyperledger.org/groups/tsc/technical-working-group-china

总所周知Farbic最初的几万行代码来自IBM,所以要学习Fabric的代码最好听IBM的讲解。IBM在developworks上开了一个“开源技术微讲堂”课程,最近讲了不少区块链相关的内容,是很好的学习资料。以下就是IBM微讲堂的源码分析视频:ibm.biz/opentech-ma

本系列课程将以Fabric e2e为例,在代码级别讲解Fabric的执行流程,包括:节点启动,创建channel,加入channel,安装和实例chaincode,执行一笔交易等等。通过本系列的学习,您将很快上手Fabric的源代码。

日期 主题 摘要 视频回放 讲义
2018.1.18 Fabric代码入门及Orderer代码解析 以e2e为例,在代码级别讲解Fabric的执行流程,包括:节点启动,创建channel,加入channel,安装和实例化chaincode,执行一笔交易。并且分析orderer对交易进行排序的过程。

Fabric代码入门及Orderer代码解析(上)

Fabric代码入门及Orderer代码解析(下)

Fabric代码解析第一讲.pdf
2018.1.25 Fabric Peer解析 在代码级别分析peer的执行一笔交易的过程,包括:调用user chaincode,system chaincode,背书和验证,并且介绍了ledger的设计、接口和实现。 Fabric Peer解析 Fabric代码解析第二讲.pdf
2018.2.1 Fabric chaincode和SDK解析 本讲主要介绍chaincode内部工作原理和shim接口。本讲还会介绍JAVA SDK的设计与实现,并结合实例讲解其使用方法。 Fabric chaincode &SDK解析 Fabric代码解析第三讲.pdf

历史系列

2017.11~2017.12 Kubernetes系列

2017.7~2017.7 Serverless和Apache OpenWhisk系列

2017.3~2017.4 区块链和HyperLedger Fabric系列

2016.11~2017.1 容器技术和微服务系列

Hyperledger Fabric源码解析的更多相关文章

  1. 死磕hyperledger fabric源码|Order节点概述

    死磕hyperledger fabric源码|Order节点概述 文章及代码:https://github.com/blockchainGuide/ 分支:v1.1.0 前言及源码目录 Orderer ...

  2. Hyperledger Fabric源码分析之Gossip

    Gossip算法正如它的名字,小道消息只需要有人传播一次,那么过一段时间,所有人都会知道,就像新冠病毒一样,所以Gossip算法也有其它的别名"传染病扩散算法"."谣言传 ...

  3. Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理

    2:Fabric源码及镜像文件处理 2.1下载Fabric源码 下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下.通过1.3 ...

  4. Fabric1.4源码解析:客户端安装链码

          看了看客户端安装链码的部分,感觉还是比较简单的,所以在这里记录一下.       还是先给出安装链码所使用的命令好了,这里就使用官方的安装链码的一个例子: #-n 指定mycc是由用户定义 ...

  5. 【Java实战】源码解析Java SPI(Service Provider Interface )机制原理

    一.背景知识 在阅读开源框架源码时,发现许多框架都支持SPI(Service Provider Interface ),前面有篇文章JDBC对Driver的加载时应用了SPI,参考[Hibernate ...

  6. Fabric1.4源码解析:客户端创建通道过程

    在使用Fabric创建通道的时候,通常我们执行一条命令完成,这篇文章就解析一下执行这条命令后Fabric源码中执行的流程. peer channel create -o orderer.example ...

  7. Fabric1.4源码解析: 链码容器启动过程

    想写点东西记录一下最近看的一些Fabric源码,本文使用的是fabric1.4的版本,所以对于其他版本的fabric,内容可能会有所不同. 本文想针对Fabric中链码容器的启动过程进行源码的解析.这 ...

  8. Fabric1.4源码解析:Peer节点加入通道

          又开始新的阅读了,这次看的是Peer节点加入通道的过程.其实每次看源码都会有好多没有看懂的地方,不过相信只要坚持下去,保持记录,还是有很多收获的.       对于Peer节点加入通道这一 ...

  9. Fabric1.4源码解析:链码实例化过程

    之前说完了链码的安装过程,接下来说一下链码的实例化过程好了,再然后是链码的调用过程.其实这几个过程内容已经很相似了,都是涉及到Proposal,不过整体流程还是要说一下的. 同样,切入点仍然是fabr ...

随机推荐

  1. MYSQL中防止插入重复记录的解决方案(无重复值更新)

    说明:一般我们使用MYSQL插入记录时,类似于这样的语句: insert into table_name(email,phone,user_id) values(‘test9@163.com’,’99 ...

  2. phpstorm2017.3.6的激活、样式设置和汉化

    一:安装phpstorm2017.3.6,并激活.设置样式.(1)先在phstorm官网里www.jetbrains.com下载phpstorm2017.3.6,按照步骤安装即可.下面开始激活!(2) ...

  3. JAVA框架--hibernate、struts2、spring

    JAVAEE——spring01:介绍.搭建.概念.配置详解.属性注入和应用到项目   JAVAEE——struts2_04:自定义拦截器.struts2标签.登陆功能和校验登陆拦截器的实现   JA ...

  4. 使用Log4j将程序日志实时写入Kafka

    第一部分 搭建Kafka环境 安装Kafka 下载:http://kafka.apache.org/downloads.html tar zxf kafka-<VERSION>.tgz c ...

  5. 让Delphi XE5跟其他版本的Delphi共存

    找到Delphi XE5的安装根目录  ....  \Program Files (x86)\Embarcadero\RAD Studio\12.0\bin下的cglm.ini文件, 打开cglm.i ...

  6. WinForm Flicker闪屏解决方案

    开发WinForm 程序时经常会遇到闪屏的问题,这会给用户造成很差的使用体验,所以必须妥善解决好这个问题. 首先,我们先要找出闪屏的原因,就我目前遇到的问题而言,其原因真是五花八门. 主要的原因有:使 ...

  7. RHEL6 64位ASM方式安装oracle 11gR2(一)

    本文转载自 http://vnimos.blog.51cto.com/2014866/1221361 一.安装前的准备 1.1 确定操作系统环境 1 2 3 4 5 6 7 8 9 10 11 12 ...

  8. __CLASS__

    <?php class base_class { function say_a() { echo "'a' - said the " . __CLASS__ . " ...

  9. 关于object-c类目的理解

    类目:为已知的类增加新的方法: 一.类目: 1. 类目方法的应用: 对现有类进行扩展:比如:可以扩展Cocoa touch框架中的类,在类目中增加的方法会被子类继承,而且在运行时跟其他的方法没有区别. ...

  10. in not in 和 null , in 判断范围中可以包含null,而not in判断不能包括null

    oracle中,任何字符串与null比较得到的结果都是null,而 oracle的判断条件为null时就退出判断(?) 因此判断某个字符串是否在一个集合中时,not in 和 in的结果完全不一样,如 ...