最新内容会更新在主站深入浅出区块链社区
原文链接:联盟链初识以及Fabric环境搭建流程
这篇文章首先简单介绍了联盟链是什么,再详细的介绍了Fabric环境搭建的整个流程。
区块链分类:
以参与方式分类,区块链可以分为:公有链、联盟链和私有链。
定义:
我们知道区块链就是一个分布式的,去中心化的公共数据库(或称公共账本)。而联盟链是区块链的一个分支,所以它本身也是一个分布式的,去中心化的公共数据库,跟其他链的区别就是它是针对特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,其共识过程受到预选节点控制的区块链
本质
联盟链本质仍然是一种私有链,只不过它要比单个小组织开发的私有链更大,但是却没有公有链这么大的规模,可以理解为它是介于公有链和私有链的一种区块链。
联盟链的特点
- 交易速度快
我们知道对于公有链来说,要想达成共识,必须得由区块链中的所有节点来决定,本身公有链的节点数量就非常庞大,所以处理速度很慢。但对于联盟链来说,由于其节点不多的原因,而且只要当网络上2/3的节点达成共识,就可以完成交易,交易速度自然也就快很多。 - 数据默认不会公开
不同于公有链,联盟链上的信息并不是所有有访问条件的人就可以访问的,联盟链的数据只限于联盟里的机构及其用户才有权限进行访问。 - 部分去中心化
与公有链不同,联盟链某种程度上只属于联盟内部的所有成员所有,且很容易达成共识,因为其节点数毕竟是有限的。
联盟链的应用
R3:由40多加银行参与的区块链联盟R3,包括世界著名的银行(如摩根大通、高盛、瑞信、伯克莱、汇丰银行等),IT巨头(如IBM、微软)。
超级账本(Hyperledger):由 Linux基金会在2015年12月主导发起该项目, 成员包括金融,银行,物联网,供应链,制造和科技行业的领头羊。
Fabric介绍
我们知道智能合约比较成功的就是以太坊了。以太坊主要是公有链,其实对企业应用来说并不是特别合适,而且本身并没有权限控制功能,面向企业的,主要还是HyperLedger Fabric,当然还有R3的Corda。这里我们主要是讲Fabric。
Fabric是一个面向企业应用的区块链框架,基于Fabric的开发可以粗略分为几个层面:
1. 参与Fabric的底层开发,这主要是fabric,fabric-ca和sdk等核心组件。
2. 参与Fabric周边生态的开发,如支持如支持fabric的工具explorer, composer等。
3. 利用fabric平台开发应用,这就是利用fabirc提供的各种sdk来为应用服务(应用开发)
大部分企业会参与2-3的内容,以3为主来服务应用场景,以2为辅。因为现在除了区块链核心功能尚未完善外,对区块链的管理,运维,监控,测试,优化,调试等工具非常匮乏。企业将不得不面对自己开发一些工作。
Fabric环境依赖
fabric官方推荐的开发环境是基于docker搭建的,使用docker搭建需要一下前置条件:
- docker一一Docker version 17.06.2-ce 或以上版本
- Docker Compose一一1.14或以上版本
- Go一一1.10或以上版本, Node.js一一8.9.x或以上版本
- Python一一主要是python-pip
Fabric环境搭建具体步骤:
这里使用的是Ubuntu 16.04.4版本
1.安装go及环境变量配置
(1)下载最新版本的go二进制文件
$ wget