在刚接触fabric的时候一般都是直接跟着wiki的教程一步步安装配置,执行一系列命令,最终将其运行起来,但很多人对其中的运行流程及其基础知识点可能不是很了解.基于此今天我将以$FABRIC_ROOT/examples/e2e_cli/ 经典Demo为例来分享一些我的理解,希望可以对入门者有所帮助. 生成证书 fabric是有准入门槛的联盟链,通过MSP服务来进行对其中的成员进行统一管理.既然提到了MSP,那就肯定离不开证书这一概念.证书的作用一方面是用于验证消息的签名是否有效从而验证交易是否有…
学习了前面几章理论知识后,本章开始介绍实践操作,先介绍Fabric基础环境搭建,采用的操作系统为Centos 7 64位,依次介绍Docker安装.Docker-Compose安装.GO语言环境安装.Git安装和Fabric安装,最终完成可使用的Fabric环境.7.1 Docker安装       Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接…
Java的网络编程如果不是专门搞服务器性能开发或者消息分发,几乎可能涉及不到.但是它却是面试找工作必问的一个知识点,涵盖的知识体系也非常广泛,从Java底层IO原理到操作系统内核组成,再到网络TCP.UDP.HTTP的应用实践....因此,即便是职场多年的老油条,仍然需要时刻复习,更别提我这种只有七秒钟记忆的小菜鸟了. Java网络IO的演化,从最开始JDK1.4之前是基于阻塞的IO:发展到1.4发布后的Nio提供了selector多路复用的机制以及channel和buffer,再到1.7的NI…
前面的文章都是在讲解Fabric网络的搭建和ChainCode的开发,那么在ChainCode开发完毕后,我们就需要使用Fabric SDK做应用程序的开发了.官方虽然提供了Node.JS,Java,Go,Python等多种语言的SDK,但是由于整个Fabric太新了,很多SDK还不成熟和完善,所以我采用Node JS的SDK,毕竟这个是功能毕竟齐全,而且也是官方示例的时候使用的SDK.由于我从来没有接触过Node.JS的开发,对这个语言理解不深,所以讲的比较肤浅,希望大家见谅. 1.环境准备…
我们前面关于Fabric的所有文章中用到的例子都没有CA Server,都是由cryptogen这个工具根据crypto-config.yaml而生成的.但是在实际生产环境中,我们肯定不能这么做,我们应该为每个Org建立一个CA,由CA来管理其中的用户.下面我们就试着讲Fabric CA集成到整个Fabric网络中,并用CA Client生成新用户,最终使用新用户调用ChainCode,验证新用户的合法性.我们仍然以官方的e2e_cli为例,关于这个例子的环境搭建,可以参考我的上一篇博客:htt…
PS:因为我部署的是集群(4peer+1order),需要为order,org1,org2分别建立一个CA,拿org1使用举例,获取org1根证书私钥名称:PRIVATE_KEY.sh #!/bin/bash folder="crypto-config/peerOrganizations/org1.example.com/ca" privName="" for file_a in ${folder}/* do temp_file=`basename $file_a`…
Hyperledger Fabric(v1.2.0)代码分析1--channel创建 0. e2e_cli Hyperledger Fabric提供了一个e2e的例子,该例中创建了一个基础的区块链网络,并进行了交易并查询.麻雀虽小,五脏俱全,我们可以根据e2e的例子来对Fabric区块链网络有一个基本的认识,包括网络创建流程.智能合约(chaincode)实现等.作为底层技术开发者,可以根据e2e的例子来追踪整个代码流程,从而对fabric源码结构有一个清晰的认识. ele示例的区块链网络由以下…
2019年12月12日13:05:16 声明:从网络中学习整理实践而来. 1.介绍fabric Fabric 是一个面向企业应用的区块链框架,基于 Fabric 的开发可以粗略分为几个层面: 1. 参与 Fabric 的底层开发,这主要是 fabric,fabric-ca 和 sdk 等核心组件. 2. 参与 Fabric 周边生态的开发,如支持如支持 fabric 的工具 explorer, composer 等. 3. 利用 fabric 平台开发应用,这就是利用 fabirc 提供的各种…
关于 Python 自动化的话题,在上一篇文章中,我介绍了 Invoke 库,它是 Fabric 的最重要组件之一.Fabric 也是一个被广泛应用的自动化工具库,是不得不提的自动化运维利器,所以,本文将来介绍一下它. Fabric 主要用在应用部署与系统管理等任务的自动化,简单轻量级,提供有丰富的 SSH 扩展接口.在 Fabric 1.x 版本中,它混杂了本地及远程两类功能:但自 Fabric 2.x 版本起,它分离出了独立的 Invoke 库,来处理本地的自动化任务,而 Fabric 则聚…
Fabric 主要用在应用部署与系统管理等任务的自动化,简单轻量级,提供有丰富的 SSH 扩展接口.在 Fabric 1.x 版本中,它混杂了本地及远程两类功能:但自 Fabric 2.x 版本起,它分离出了独立的 Invoke 库,来处理本地的自动化任务,而 Fabric 则聚焦于远程与网络层面的任务. 为了做到这点,Fabric 主要依赖另一大核心组件 Paramiko,它是基于 SSH 协议的远程控制模块,Fabric 在其基础上封装出了更加友好的接口,可以远程执行 Shell 命令.传输…