Hyperledger Fabric源码解析
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代码解析第一讲.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.7~2017.7 Serverless和Apache OpenWhisk系列
2017.3~2017.4 区块链和HyperLedger Fabric系列
Hyperledger Fabric源码解析的更多相关文章
- 死磕hyperledger fabric源码|Order节点概述
死磕hyperledger fabric源码|Order节点概述 文章及代码:https://github.com/blockchainGuide/ 分支:v1.1.0 前言及源码目录 Orderer ...
- Hyperledger Fabric源码分析之Gossip
Gossip算法正如它的名字,小道消息只需要有人传播一次,那么过一段时间,所有人都会知道,就像新冠病毒一样,所以Gossip算法也有其它的别名"传染病扩散算法"."谣言传 ...
- Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理
2:Fabric源码及镜像文件处理 2.1下载Fabric源码 下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下.通过1.3 ...
- Fabric1.4源码解析:客户端安装链码
看了看客户端安装链码的部分,感觉还是比较简单的,所以在这里记录一下. 还是先给出安装链码所使用的命令好了,这里就使用官方的安装链码的一个例子: #-n 指定mycc是由用户定义 ...
- 【Java实战】源码解析Java SPI(Service Provider Interface )机制原理
一.背景知识 在阅读开源框架源码时,发现许多框架都支持SPI(Service Provider Interface ),前面有篇文章JDBC对Driver的加载时应用了SPI,参考[Hibernate ...
- Fabric1.4源码解析:客户端创建通道过程
在使用Fabric创建通道的时候,通常我们执行一条命令完成,这篇文章就解析一下执行这条命令后Fabric源码中执行的流程. peer channel create -o orderer.example ...
- Fabric1.4源码解析: 链码容器启动过程
想写点东西记录一下最近看的一些Fabric源码,本文使用的是fabric1.4的版本,所以对于其他版本的fabric,内容可能会有所不同. 本文想针对Fabric中链码容器的启动过程进行源码的解析.这 ...
- Fabric1.4源码解析:Peer节点加入通道
又开始新的阅读了,这次看的是Peer节点加入通道的过程.其实每次看源码都会有好多没有看懂的地方,不过相信只要坚持下去,保持记录,还是有很多收获的. 对于Peer节点加入通道这一 ...
- Fabric1.4源码解析:链码实例化过程
之前说完了链码的安装过程,接下来说一下链码的实例化过程好了,再然后是链码的调用过程.其实这几个过程内容已经很相似了,都是涉及到Proposal,不过整体流程还是要说一下的. 同样,切入点仍然是fabr ...
随机推荐
- IDEA导出想要的sql供H2数据库使用
通过Database连接远程oracle数据库. 选择对应的数据库 双击该数据库需要查询的表,进行自动查询,展示结果. 在查询结果中选择某条数据,右键,选择Data Executer,选择对应的方式. ...
- #510. 「LibreOJ NOI Round #1」动态几何问题
题目: 题解: 几何部分,先证明一下 \(KX = \sqrt{a},YL = \sqrt{b}\) 设左侧的圆心为 \(O\) ,连接 \(OK\) ,我们有 \(OK = r\). 然后有 \(r ...
- UVA136 Ugly Numbers
题意 PDF 分析 用堆和集合维护即可. 时间复杂度\(O(1500 \log n)\) 代码 #include<iostream> #include<cstdio> #inc ...
- Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 ...
- 几个开源faas 框架
funktion open source event based lambda programming for kubernetes 官方地址: funktion.fabric8.io serverl ...
- ORA-12154,TNS错误解决办法
- python 函数 hex()
hex(x)作用:hex() 函数用于将10进制整数转换成16进制整数. x-10进制整数,返回16进制整数 实例: >>>hex(255) '0xff' >>> ...
- PostgreSQL备份
备份与恢复 postgresql自带了两个备份工具: pg_dump:可备份一个指定的database pg_dumpall:可一次性备份所有database数据以及系统全局数据 使用pg_dump ...
- JavaWeb中验证码的实现
在Web程序中,验证码是经常使用的技术之一.Web程序永远面临未知用户和未知程序的探测.为了防止恶意脚本的执行,验证码技术无疑是首选方案之一.本文将讨论如何在JSP和Servlet中使用验证码技术. ...
- Spring BeanPostProcessor与动态加载数据源配置
前言: 本文旨在介绍Spring动态配置数据源的方式,即对一个DataSource的配置诸如jdbcUrl,user,password,driverClass都通过运行时指定,而非由xml静态配置定死 ...