区块链之fabric环境搭建(自动、测试)
环境
centOS7.X
docker版本不低于17.06.2
docker-compose版本不低于1.14.0
go版本1.9.x
查看内核版本: uname -r
更新内核版本: sudo yum update
docker安装
-
如果之前安装过docker,卸载旧版本:
sudo yum remove docker \ docker-engine
(提示无匹配安装包也没问题,不用管) -
安装docker ce:
@安装需要的包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
(如果yum被锁定:rm -f /var/run/yum.pid
)
@设置稳定存储库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
@启用edge和测试存储库
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test
@安装docker ce
sudo yum install docker-ce
(此命令为安装最新版本,如若需要其他特定版本:sudo yum install docker-ce-版本号
)
@启动docker并设置为开机自启
systemctl start docker
和chkconfig docker on
@查询版本号,检验是否安装成功
docker version
安装docker-compose
-
安装curl依赖
yum install curl
-
下载docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-'uname -s'-'uname -m' -o /usr/local/bin/docker-compose
(下载目录为 /usr/local/bin/docker-compose
如果提示没有curl:yum install curl
) -
检验是否安装成功
-
docker-compose version
(如果提示权限不够:chmod +x /usr/local/bin/docker-compose
如果提示没有那个文件或目录:cp /usr/local/bin/docker-compose /usr/bin
)
安装go环境
-
下载go安装包
wget https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz
(wget下载的文件默认下载到当前文件夹) -
解压go压缩包
tar -xvf go1.10.1.linux-amd64.tar.gz -C /usr/local
-
配置go环境变量
vim /etc/profile
将下面两行添加到文件末尾
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath
source /etc/profile
(可以多source几遍,防止出错)
查看是否source成功
echo $PATH
-
检验是否安装成功
go version
fabric环境部署
-
新建文件夹
cd /opt
,
mkdir -p gopath/src/github.com/hyperledger
cd /opt/gopath/src/github.com/hyperledger
-
安装git
yum install git
-
下载fabric源码
git clone https://github.com/hyperledger/fabric.git
(下载过程比较长,一个小时左右,耐心等待) -
进入fabric查看版本
cd fabric
git branch -a
-
切换到release分支
git checkout release-1.2
-
安装gcc
yum install gcc
-
编译生成二进制文件
make release
-
安装镜像文件
docker pull hyperledger/fanric-tools
docker pull hyperledger/fanric-couchdb
docker pull hyperledger/fanric-kafka
docker pull hyperledger/fanric-ca
docker pull hyperledger/fanric-zookeeper
docker pull hyperledger/fanric-baseos
docker pull hyperledger/fanric-baseimage
docker pull hyperledger/fanric-javaenv
docker pull hyperledger/fanric-ccenv
docker pull hyperledger/fanric-membersrvc
上述镜像默认下载最新版本,peer和orderer需要下载和fabric相对应的版本,这点极其重要!!!!!!!!!!一定要确认这俩个镜像和你的fabric版本相一致,之前切换到release-1.2分支,所以下载1.2.0版本的peer和orderer
docker pull hyperledger/fanric-peer:1.2.0
docker pull hyperledger/fanric-orderer:1.2.0
查看镜像
docker images
将peer和orderer镜像标签改为latest
docker tag 82c262e65984 hyperledger/fabric-peer:latest
docker tag 4baf7789a8ec hyperledger/fabric-orderer:latest
-
启动fabric
cd /examples/e2e_cli
./network_setup.sh up
10.关闭fabric
./network_setup.sh down
fabric-samples安装
-
下载fabric-samples源码
cd /opt/gopath/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric-samples.git
-
查看分支并切换到1.2
cd fanric-samples
git branch -a
git checkout release-1.2
-
下载二进制执行文件
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.2.0/hyperledger-fabric-linux-amd64-1.2.0.tar.gz
-
解压文件
tar -zxvf hyperledger-fabric-linux-amd64-1.1.0.tar.gz
(解压后多了bin和config两个文件夹) -
生成配置文件
cd /first-network
./byfn.sh -m generate
-
启动项目
./byfn.sh -m up