超级账本简介
2015年12月, 由Linux基金会牵头, IBM、Intel、Cisco等共同宣布了Hyperledger联合项目成立.
超级账本项目为透明、公开、去中心化的企业级分布式账本技术提供开源参考实现
目前超级账本社区中已有
- 艾亿数融、OnChain、比邻共赢、BitSE、布比、三一重工、万达、华为等诸多国内企业加入
超级账本首次将区块链技术引入到分布式联盟账本的应用场景中, 为未来基于区块链技术打造高效率的商业网络打下基础
超级账本由面向不同目的和场景的八大顶级子项目构成:
Fabric: 目标是区块链的基础核心平台,支持PBFT(拜占庭容错算法)等新的共识机制, 支持权限管理
Sawtooth: 是Intel 主要发起和贡献的区块链平台. 支持全新的基于硬件芯片的共识机制Proof of Elapsed Time(PoET)
iroha: 账本平台项目, 基于C++实现, 带有面向Web和Mobile的特性
Blockchain Explorer: 提供Web操作界面, 可查看查询绑定区块链的状态(区块个数, 交易历史)信息等
Cello: 提供区块链平台的部署和运行时管理功能, 应用开发者无需关心如何搭建和维护区块链
Indy: 提供基于分布式账本技术的数字身份管理机制
Composer: 提供面向链码开发的高级语言支持, 自动生成链码等
Burrow: 提供以太坊虚拟机的支持, 实现支持高效交易的带权限的区块链平台
Fabric是最早加入到超级账本项目中的顶级项目, 面向企业的分布式账本平台, 引入了权限管理, 支持可插拔、可扩展, 由IBM、DIH等企业于2015年底提交到社区, 是首个面向联盟链场景的开源项目
Fabric基于GO语言实现, 已发布1.1.0版本
项目地址: https://github.com/hyperledger/fabric
环境搭建(ubuntu系统)
快速入门: http://hyperledger-fabric.readthedocs.io/en/release-1.1/getting_started.html
前提
安装git
$ sudo apt update
$ sudo apt install git
安装curl
$ sudo apt install curl
安装vim
$ sudo apt install vim
安装Docker
$ sudo apt update
$ docker --version
$ sudo apt install docker.io
查看Docker版本信息
$ docker --version
输出: Docker version 1.13.1, build 092cba3
安装Docker Compose
$ docker-compose --version
$ sudo apt install docker-compose
查看DockerCompose版本信息
$ docker-compose --version
输出: docker-compose version 1.8.0, build unknown
Golang
Fabric1.1.0版本要求Go1.9+
Fabric1.0.0版本要求Go1.7+
自行上网下载golang,安装,并设置好环境变量
安装Node与npm
安装nvm
$ sudo apt update
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.10/install.sh | bash
$ export NVM_DIR="$HOME/.nvm"
$ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
安装Node
$ nvm install v8.11.1
检查Node版本
$ node -v
输出: v8.11.1
检查npm版本
$ npm -v
输出: 5.6.0
Hyperledger Fabric Samples 下载安装
创建一个空目录
$ mkdir hyfa
$ cd hyfa
下载方式一:
新建文件bootstrap.sh
$ vim bootstrap.sh
将https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh
中的内容拷贝保存退出
赋予bootstrap.sh可执行权限并运行
$ chmod +x bootstrap.sh
配置docker加速器
配置docker加速器的目的是为了在下载docker镜像文件时加速
$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://8890cb8b.m.daocloud.io
重启docker服务
$ sudo systemctl restart docker.service
执行bootstrap.sh
确定网络稳定,否则会导致各种问题,例如下载到一半时网络超时,下载失败等等
$ sudo ./bootstrap.sh 1.1.0
下载完成后, 查看相关输出内容, 如果下载有失败的镜像, 可再次执行 $ sudo ./bootstrap.sh 1.1.0
命令
下载方式二:
建议使用方式一进行下载
配置docker加速器,
$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://8890cb8b.m.daocloud.io
重启docker服务
$ sudo systemctl restart docker.service
$ curl https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh | bash -s 1.1.0
安装完成后输出:
hyperledger/fabric-ca latest 72617b4fa9b4 5 weeks ago 299 MB
hyperledger/fabric-ca x86_64-1.1.0 72617b4fa9b4 5 weeks ago 299 MB
hyperledger/fabric-tools latest b7bfddf508bc 5 weeks ago 1.46 GB
hyperledger/fabric-tools x86_64-1.1.0 b7bfddf508bc 5 weeks ago 1.46 GB
hyperledger/fabric-orderer latest ce0c810df36a 5 weeks ago 180 MB
hyperledger/fabric-orderer x86_64-1.1.0 ce0c810df36a 5 weeks ago 180 MB
hyperledger/fabric-peer latest b023f9be0771 5 weeks ago 187 MB
hyperledger/fabric-peer x86_64-1.1.0 b023f9be0771 5 weeks ago 187 MB
hyperledger/fabric-javaenv latest 82098abb1a17 5 weeks ago 1.52 GB
hyperledger/fabric-javaenv x86_64-1.1.0 82098abb1a17 5 weeks ago 1.52 GB
hyperledger/fabric-ccenv latest c8b4909d8d46 5 weeks ago 1.39 GB
hyperledger/fabric-ccenv x86_64-1.1.0 c8b4909d8d46 5 weeks ago 1.39 GB
hyperledger/fabric-zookeeper latest 92cbb952b6f8 2 months ago 1.39 GB
hyperledger/fabric-zookeeper x86_64-0.4.6 92cbb952b6f8 2 months ago 1.39 GB
hyperledger/fabric-kafka latest 554c591b86a8 2 months ago 1.4 GB
hyperledger/fabric-kafka x86_64-0.4.6 554c591b86a8 2 months ago 1.4 GB
hyperledger/fabric-couchdb latest 7e73c828fc5b 2 months ago 1.56 GB
hyperledger/fabric-couchdb x86_64-0.4.6 7e73c828fc5b 2 months ago 1.56 GB
添加环境变量(可选)
后期可以使用相应的相对路径
$ export PATH=<path to download location>/bin:$PATH
注: <path to download location>表示下载的fabric-samples
文件目录所在路径
例: $ export PATH=$HOME/hyfa/fabric-samples/bin:$PATH
HyperLedger Fabric
环境搭建完成
有疑问加站长微信联系(非本文作者)