最近在学习区块链框架HyperLedger Fabric,其当前的最新版本为1.0.0 Beta。为方便体验,需要在本地的mac上先部署起来。由于目前相关的中文资料很少,主要参考的是官方文档,还有网上一些零星的文章。
先将Fabric工程下载一份到本地(这里为方便说明,存在个人目录)
环境搭建
为了方便部署,Fabric提供了Docker镜像,但我们得先将Docker环境搭建起来。Mac上搭建Docker环境,可以通过Docker ToolBox来安装,其中会包括一些列的工具,感兴趣的朋友可以关注下其文档。由于是初学,我准备不使用该工具,而是从基础开始一步步来搭建。
安装VirtualBox、Vagrant
由于Docker是基于Linux容器技术LXC, 不能直接部署在mac的OS X系统上,因此在mac上需要先搭建一个Linux的虚拟环境。
这就要借助VirtualBox虚拟出一个Linux环境,下载VirtualBoxOS X版本并安装即可。
Vagrant是虚拟机管理工具,底层支持VirtualBox作为虚拟机系统,可以在参考这里做些了解。下载Vagrant的OS X版本安装即可。
还有个工具boot2docker可以更方便的直接mac下用命令管理docker(当然前提也得安装VirtualBox),感兴趣可以关注下,这里我也没有安装这个工具,而是进入到VirtualBox中使用docker。
启动虚拟机
进入git clone
到本地个人目录的fabric工程下devenv
目录,会看到有个Vagrantfile
文件,在该目录下执行以下命令。
其中`vagrant up`命令执行时间会很长,它会现在ubuntu虚拟机,将其启动后进行初始化环境,包括go、docker等安装,需要耐心等待。
执行成功就会看到以下信息:
Fabric部署
由于在部署过程中需要下载大量fabric相关的docker镜像,国外镜像源是在没法忍,一定要先将源切换到国内,阿里云上有:
在虚拟机内部:
然后执行:
执行后会下载fabric相关的docker镜像,非一般的速度,也需要耐心等待。
以上下载完成后,可以看下docker镜像情况
Fabric启动
在上述fabric-sample目录下,cd release/linux-amd64/
,然后执行./network_setup.sh up
,就可以将fabric启动起来,以下为启动过程:
Fabric测试&体验
在打开一个shell并执行vagrant ssh登录到虚拟机,然后进入Fabric CLI容器
|
|
可以进入容器
再安装示例:
|
|
得到以下输出:
初始化实例,设置a账户100,b账户200
|
|
输出:
|
|
查询a账户余额,query
命令,输出Query Result: 100
|
|
输出:
a账户转账10到b账户,invoke
命令,得到输出Chaincode invoke successful. result: status:200
|
|
输出
|
|
查询b账户余额,query
命令,得到结果Query Result: 210
输出
参考资料
- Hyperledger Fabric Get Started
- Hyperledger Wiki
- 在Ubuntu中部署并测试Fabric 1.0 Beta
- Hyperledger fabric 开发环境搭建
- hyperledger fabric本地开发环境mac部署
- Hyperledger Fabric 1.0 安装和使用
由于在虚拟机启动的时候,已经自动帮我们做了很多初始化工作,比如go、docker、java、node等很多依赖的安装与初始化,对于其启动细节还不够了解,因此在下一篇文章中,我们会介绍在一台CentOS上如何部署Fabric。