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. Qt图形视图体系结构示例解析(视图、拖拽、动画)

    本博的示例来自与QT Example:C:\Qt\Qt5.9.3\Examples\Qt-5.9.3\widgets\graphicsview\dragdroprobot 将通过分析示例完成主要功能: ...

  2. freemarker 常见问题

    <#setting date_format="yyyy-MM-dd"> ..设置时间格式然后获取从后台获取值${s.createTime?date}这样就能正常显示了 ...

  3. [BZOJ5133][CodePlus2017年12月]白金元首与独舞

    bzoj luogu 题意 给你一个\(n*m\)的网格,每个位置上有一个箭头指向上或下或左或右.有些位置上还没有箭头,现在要求你在这些没有箭头的位置上填入箭头,使得从网格的任意一个位置开始,都可以沿 ...

  4. LeetCode Replace Words

    原题链接在这里:https://leetcode.com/problems/replace-words/description/ 题目: In English, we have a concept c ...

  5. 洛谷 P1292 倒酒

    题目描述 Winy是一家酒吧的老板,他的酒吧提供两种体积的啤酒,a ml和b ml,分别使用容积为a ml和b ml的酒杯来装载. 酒吧的生意并不好.Winy发现酒鬼们都非常穷.有时,他们会因为负担不 ...

  6. python 的日志logging模块

    1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message')logging.info('This is info messag ...

  7. bzoj 4278 [ONTAK2015]Tasowanie——后缀数组

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4278 因为每次要放后缀较小的那个,所以把两个序列放在一起排序吧.改一改模板. 其实要改的地方 ...

  8. PostgreSQL备份

    备份与恢复 postgresql自带了两个备份工具: pg_dump:可备份一个指定的database pg_dumpall:可一次性备份所有database数据以及系统全局数据  使用pg_dump ...

  9. iptables防火墙工作原理

    iptables防火墙工作原理 简介:iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率: iptables属 ...

  10. mysql命令 show slave status\G;命令输出详解

    show slave status\G; 命令输出详解 mysql> show slave status\G; *************************** . row ******* ...