首先在VMware Workstation虚拟机上安装Ubuntu,配置好环境,调好中文语言、分辨率后,打开终端。
PS:在安装Ubuntu系统后如果发现与Windows系统的文件不能相互复制,网上查了很多教程,发现都是不能用的,能实现的方法如下所示:
打开终端,输入:
sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools-desktop
然后重启
特别推荐
如果用户切换到root下,就不用考虑权限的问题,这样会省去哼多麻烦,不用加sudo
,安装其他的软件业方便
cc@cc-fibric:~$ sudo -i
[sudo] password for cc:
root@cc-fibric:~#
接下来,就正式开始Fabric的部署了,这是在普通用户下的(在root用户下就不用sudo):
第一步:配置好基本的Ubuntu环境**
安装 Vim:
sudo apt-get install vim
安装Curl:
sudo apt-get update
sudo apt install curl
安装Git:
sudo apt-get install git
第二步:安装go语言和搭配环境变量
安装go语言:
sudo apt-getinstall golang
查看go 语言版本:
root@cc-fibric:~# go version
go version go1.11 linux/amd64
查看go语言的安装路径等:
root@cc-fibric:~# go env
在安装好go语言之后,还需要配置****go****语言的环境变量:
vim ~/.profile //编辑当前用户的环境变量
当然,如果需要在所有用户下都生效,即在root账户下生效,建议在 /etc/profile
目录下配置环境变量
root@cc-fibric:~# vim /etc/profile
在 profile的最后添加以下内容
可以再自己的home目录下建立一个go的空文件目录(用mkdir 语句),来设置go语言的环境变量
具体介绍,可以参考这个链接:go语言中文网
export PATH=$PATH:/usr/local/go/bin (根据自己的情况而定) //设置为你自己的go安装目录
export GOROOT=/usr/local/go
export GOPATH=$HOME/cc/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/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 //软链接,就行wonder下的建立快捷键一样
查看版本:
root@cc-fibric:~# docker -v
Docker version 17.03.2-ce, build f5ec1e2
如果遇到问题,可以停用、启动docker。
停用:sudo service docker stop
启用:sudo service docker start
然后修改当前用户的权限:
sudo usermod -aG docker $USER
添加镜像加速:
sudo mkdir -p /etc/docker //建立docker文件
sudo gedit /etc/docker/daemon.json //也可以用vim 编辑,随便
在daemon.json文件中加入如下信息:
{ "registry-mirrors":["https://registry.docker-cn.com"] }
Docker-Compose的安装
运行以下命令下载最新版本的docker-compose:
sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-
uname -s
-uname -m
-o /usr/local/bin/docker-compose
这个网站可能跑不通,读者可以在这个网站:docker-compose拉取地址
自己去拉取最新的docker-compose,语句都是一样的,只不过换了网址:https://github.com/docker/compose/releases/
更改二进制文件的权限,使其能够运行:
sudo chmod +x /usr/local/bin/docker-compose
另一个办法 源码安装
我们从官方网站(https://github.com/docker/compose/releases)上下载源码压缩包(最新版),放到Downlands目录下,
切换到给目录下,将docker-compose-Linux-x86_64改名为docker-compose
sudo mv docker-compose-Linux-x86_64 docker-compose
sudo mv docker-compose /usr/local/bin/docker-compos
chmod +x /usr/local/bin/docker-compose
测试安装:
root@cc-fibric:~# docker-compose version
docker-compose version 1.23.0-rc3, build ea3d406e
docker-py version: 3.5.0
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.1.0f 25 May 2017
第四步 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
git checkout v1.0.0
我现在切换到较新的版本 v1.1
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文件下,启动测试例子:
root@cc-fibric:cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
root@cc-fibric:/home/cc/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh up
setting to default channel 'mychannel'
mychannel
Using cryptogen -> /home/cc/go/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/cryptogen
##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
.................
.................
.................
2018-11-01 09:43:07.708 UTC [msp/identity] Sign -> DEBU 007 Sign: digest: 88E6F9361B88875DC921D2139523C130AAD7DFDAECD142697FC10198AD4835B0
Query Result: 90
2018-11-01 09:43:23.521 UTC [main] main -> INFO 008 Exiting.....
===================== Query on PEER3 on channel 'mychannel' is successful =====================
===================== All GOOD, End-2-End execution completed =====================
_____ _ _ ____ _____ ____ _____
| ____| | \ | | | _ \ | ____| |___ \ | ____|
| _| | \| | | | | | _____ | _| __) | | _|
| |___ | |\ | | |_| | |_____| | |___ / __/ | |___
|_____| |_| \_| |____/ |_____| |_____| |_____|
启动和关闭:
启动:./network_setup.sh up
关闭:./network_setup.sh down
第七 出错记录
1.ERRO 001 Cannot run peer because error when setting up MSP from directory........msp.......
2.ERRO 001 Cannot run peer because error when setting up MSP from directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp......
解决办法:
这两个问题都是因为fabric版本和docker镜像版本不一致查看
git branch -a
结果带*就是你的branch,如果不是v1.0.0,就git checkout v1.0.0
当然,也可以下载对应的镜像(如果版本为v 1.1):
cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.1.0 -f x86_64-1.1.0