Hyperledger Fabric 在Ubuntu上的环境搭建
首先在VMware Workstation虚拟机上安装Ubuntu,配置好环境,调好中文语言、分辨率后,打开终端。
PS:在安装Ubuntu系统后如果发现与Windows系统的文件不能相互复制,网上查了很多教程,发现都是不能用的,能实现的方法如下所示:
打开终端,输入:
1:sudo apt-get autoremove open-vm-tools
2:sudo apt-get install open-vm-tools-desktop
然后重启
接下来,就正式开始Fabric的部署了:
第一步:配置好基本的Ubuntu环境
安装 Vim:
sudo apt-get install vim
安装Curl:
1:sudoapt-get update
2:sudoapt install curl
安装Git:
sudo apt-get install git
第二步:安装go语言和搭配环境变量
安装go语言:
sudo apt-getinstall golang
查看go语言的版本:
go version
查看go的安装路径、环境变量:
go env
在安装好go语言之后,还需要配置go语言的环境变量:
Vi ~/.profile //编辑当前用户的环境变量
在 profile的最后添加以下内容
export PATH=$PATH:/usr/local/go/bin (根据自己的情况而定) //设置为你自己的go安装目录
export GOROOT=/usr/local/go
exportGOPATH=$HOME/go
exportPATH=$PATH:$HOME/go/bin
第三步:安装docker。
Ubuntu有自带的docker:
sudo apt-get update
sudo apt-get install -y docker.io
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
测试:sudo docker info
如果遇到问题,可以停用、启动docker。
停用:sudo service docker stop
启用:sudo service docker start
然后修改当前用户的权限:
sudo usermod -aG docker $USER
添加镜像加速:
建立docker文件
sudo mkdir -p /etc/docker
sudo gedit /etc/docker/daemon.json
在daemon.json文件中加入如下信息:
{ "registry-mirrors":["https://registry.docker-cn.com"] }
Docker-Compose的安装
运行以下命令下载最新版本的docker-compose:
sudo curl -Lhttps://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname-s`-`uname -m` -o /usr/local/bin/docker-compose
更改二进制文件的权限,使其能够运行:
sudo chmod +x /usr/local/bin/docker-compose
测试安装:
docker-compose –version
第四步,Fabric源码下载
在go的环境变量下建立文件夹,切换到该文件夹下:
cd ~/go/src/github.com/hyperledger
用git命令下载完整源码
由于我们只是在搭建环境。不需要最新的代码,所以只需要切换到v1.0.0大版本就行。
cd ~/go/src/github.com/hyperledger/fabric //进入fabric目录git checkout v1.0.0
Fabric源码下载完成!!
第五步,Fabric Docker镜像的下载
切换到fabric的examples文件下:
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
运行命令下载镜像:
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
下载完毕后,我们运行以下命令检查下载的镜像列表:
docker images
第六步,启动Fabric网络并完成ChainCode的测试
切换到examples/e2e_cli文件下,启动测试例子:
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
启动:./network_setup.sh up
关闭:./network_setup.shdown
执行./byfn.sh -m up 时,出错信息如下,
ERROR: for orderer.example.comCannot create container for service orderer.example.com: Conflict. Thecontainer name “/orderer.example.com” is already in use by container“d6621116cf0d1ab108277893178ba29aCreating peer0.org1.example.com … error
解决方法:这是因为之前异常终止了,现在再次运行的时候,命名冲突导致的。知道问题了,解决起来就没有那么难了。首先输入docker ps -a检查是是不是真的命名冲突,如果是,docker ps -qa | xargs docker rm把命名冲突的删除掉即可。再次输入./byfn.sh -m up,等待一会,就和官网上一样了。
有疑问加站长微信联系(非本文作者)