Hyperledger Fabric 开发环境搭建&构建Fabric

Posted 链码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hyperledger Fabric 开发环境搭建&构建Fabric相关的知识,希望对你有一定的参考价值。

Hyperledge fabric项目是IBM开源的区块链项目。IBM HyperLeger 又叫 fabric,你可以把它想象成一个由全社会来共同维护的一个超级账本,没有中心机构拥揽权力,你的每一笔交易都是全网公开且安全的,信用由全社会共同见证。它与Bitcoin的关系是,你可以利用fabric构建出一个叫Bitcoin的应用来帮助你change the world。 今天小编整理了Fabric的一些入门准备和基础知识,希望对对大家有一定的帮助。

Hyperledger Fabric 开发环境的搭建


Hyperledge fabric的开发环境是一个运行在vagrant(一层virtualbox上的虚拟机皮)里的Ubuntu映像,并在虚拟机内部运行了若干Docker容器。从概念上说,就是在一个主机里启动了一个虚拟机,然后在虚拟机上启动Docker容器。


简单图解 

Host -> VM -> Docker

即 主机 -> 虚拟机 -> Docker


使用vagrant集成的开发环境开发允许开发者使用自己喜欢的操作系统和编辑器来开发,同时又可以让系统运行在一个与开发团队一致的开发环境中。

注意主机不能运行在虚拟中,否则会得到VT-x不可用的错误信息

环境配置

1.Git client

2.Go - 及1.6 以上

3.Vagrant - 1.7.4 及以上

4.VirtualBox - 5.0 及以上

5.Bios中设置Virtualization为Enabled

(提示: BIOS的Virtualization选项应该在CPU或者Security设置中)

步骤

A.设置GOPATH

fabric项目使用Go语言开发,请确保设置了GOPATH 环境变量.

Windows用户注意

如果你的系统是windows,那么在git clone之前,先做如下操作:

git config --get core.autocrlf

如果 core.autocrlf 是 true, 必须先通过以下命令将它设为 false

git config --global core.autocrlf false

如果你的core.autocrlf是true的话,运行`vagrant up时,会出现错误 ./setup.sh: /bin/bash^M: bad interpreter: No such file or directory


B.拷贝Fabric项目

Fabric项目基于 Go语言开发,是一个GO 项目, 我们需要将仓库clone到 GOPATH/src目录下.IfyourGOPATH has multiple path components, then you will want to use the first one. There’s a little bit of setup needed:

1.cd $GOPATH/src

2.mkdir -p github.com/hyperledger

3.cd github.com/hyperledger

git clone https://github.com/hyperledger/fabric.git


C.使用Vagrant启动虚拟机

启动vagrant

1.cd $GOPATH/src/github.com/hyperledger/fabric/devenv

2.vagrant up

运行到这一步时,可能会因为qiang的缘故,不能下载box,我保存了一份在百度云中,可以通过点击以下链接下载:https://pan.baidu.com/s/1kV57PLt

下载了之后,需要使用vagrant添加box,命令如下:

vagrant box add hyperledger/fabric-baseimage virtualbox.box

因为我们使用的是本地添加box,但本地添加的box版本号为0,这里fabric的Vagrantfile文件里为我们做了些处理,只要在环境变量中添加一个变量USE_LOCAL_BASEIMAGE,并将其值设置为1即可。这一步很重要,如果不加这一步,那么vagrant仍然会去网上下载(如果的确是去网上直接下载,网速能行的话就无需这么麻烦)。

添加完成后,再次进入devenv目录,然后运行

vagrant up

就行了。

等待一段时间,等到虚拟机启动后,就可以进行登录了。

Linux可以使用下面的命令

vagrant ssh


SSH登录:

address:127.0.0.1:2222

username:vagrant

password:vagrant


Windows用户的登录则需通过Putty或者Xshell等软件进行。


关于vagrant的使用可以看一下我写这篇简单的教程:http://blog.csdn.net/zgljl2012/article/details/52866009


构建fabric

搭建好vagrant开发环境后,接下来就可以build and test fabric了。在你的虚拟机里,也有一个同样的fabric项目,可以通过以下命令打开文件夹:

cd $GOPATH/src/github.com/hyperledger/fabric

只要宿主机上的文件一修改,虚拟机里的fabric也就立刻同步修改了,极大的便利了我们的开发过程(可以自己修改一下README.md测试一下)。


注意


构建Fabric


首先,使用vagrant up 打开虚拟机;然后使用客户端软件进行连接。在虚拟机里,我们可以build、run、test我们的fabric。

我是在windows系统上进行开发,使用的Xshell5.

然后运行如下命令:

cd $GOPATH/src/github.com/hyperledger/fabric

make peer

第一行是打开fabric目录,第二行是构建peer。

如果启动失败了,不用着急,因为fabric要去docker官网下载image,而国家出于某些原因(或许没有……)把docker墙了,所以下载不了。


解决办法是连上个VPN,下载docker镜像(此处就略过了)。

有了VPN后,再把上面的命令运行一次就应该构建好peer了(但docker官网较慢,只能耐心等一下)。

如果执行失败,如果是没有权限的错,就先切换到root用户(Ubuntu切换root用户需要先sudo passwd root修改密码,然后su root切换到root用户),将对应文件夹的权限赋给vagrant用户,然后再执行。

完成后,输入cd build/bin,在这个文件下,生成了可执行文件peer

输入:peer help

可看到帮助信息。

peer的完整使用说明如下:

node

   start       启动节点

   status      返回节点状态

   stop        关闭运行中的节点

network

   login       用户登录

   list        列出所有的peer节点

chaincode

   deploy      在网络上部署chainnode

   invoke      执行chaincode

   query       查询chaincode

help        Help about any command


实例:

./peer node start

以上就是本期的分享内容,希望能对大家有所帮助,谢谢。


 - END - 


了解更多区块链研究报告解读及文章

关注“区块链第一站”

以上是关于Hyperledger Fabric 开发环境搭建&构建Fabric的主要内容,如果未能解决你的问题,请参考以下文章

Hyperledger Fabric 开发环境搭建&构建Fabric

hyperledger fabric v2.4环境搭建及区块链项目开发

Hyperledger Fabric 1.4 快速环境搭建

Hyperledger Fabric 开发环境搭建 centos7系统

Hyperledger Fabric V1.0 for Centos7.2 开发环境搭建

Hyperledger Fabric 1.1安装部署-基础环境搭建