概述
在安装fabric时,对于依赖组件的安装,官方文档写的不是太有条理,导致很多初学者,在安装时遇到很多问题。 本文介绍了fabric在centos7.0系统下安装的全过程,自己亲自动手按这个步骤安装完成,并验证通过,希望对初学者有一定的帮助。
安装fabric环境需要以下几步: 1. 安装golang环境 2. 安装docker 3. 安装docker-compose 4. 搭建fabric环境
安装依赖环境
安装golang环境
- 下载
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
tar xzvf go1.10.3.linux-amd64.tar.gz
mv go /usr/local/
- 配置环境变量 vim /etc/profile
# added for go
GOROOT=/usr/local/go
export GOROOT
PATH=$PATH:$GOROOT/bin
GORPATH=/go
export GORPATH
# end added
- 让环境变量生效
source /etc/profile
安装 Docker
docker版本最好是1.13或者更高版本。
$ curl -fsSL https://get.docker.com/ | sh
安装docker后修改docker配置文件。
docerk 1.11或者更高版本,以systemd方式管理docker,默认没有创建配置文件,需要自己创建/etc/systemd/system/docker.service.d/docker.conf
$ sudo mkdir /etc/systemd/system/docker.service.d
$ sudo vi /etc/systemd/system/docker.service.d/docker.conf
详情参考官网文档: https://docs.docker.com/engine/admin/systemd/
然后在docker.conf文件中添加启动参数:
DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --api-cors-header='*'"
添加配置文件后需要加载然后重启docker:
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
安装 docker-compose
首先,安装 python-pip 软件包。
$ yum -y install epel-release
$ sudo yum install python-pip
$ sudo pip install --upgrade pip
安装 docker-compose(推荐为 1.8.0 及以上版本)。
$ sudo pip install docker-compose>=1.20.1
检查安装情况
docker-compose -version
安装Fabric环境
安装Fabric-samples
curl -sSL https://goo.gl/6wtTN5 | sudo bash -s 1.1.0
注意:上面的命令需要翻墙。也可以直接按以下命令操作:
wget https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh
cat bootstrap.sh | bash -s 1.1.0
初始化fabric网络配置
cd fabric-samples/first-network
./byfn.sh -m generate
注意:这里可能会拉取一些镜像,若使用国外的镜像可能会比较费时。可以注册国内的daocloud.io的账号,按上面的帮助进行操作。 然后执行类似以下的命令,我的需要执行:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d340843d.m.daocloud.io
启动区块链网络
sudo ./byfn.sh -m up -t 120 -d 120
如果有网络超时,可以把延迟设置的更大一些。 运行网络结果 可以通过 sudo docker ps 查看
若看到以下的输出,说明安装成功了:
...
========= All GOOD, BYFN execution completed ===========
_____ _ _ ____
| ____| | \ | | | _ \
| _| | \| | | | | |
| |___ | |\ | | |_| |
|_____| |_| \_| |____/
可以通过docker ps查看一下区块链网络的启动docker的镜像有哪些。
验证
- 进入cli容器(客户端)
docker exec -it cli bash
- 输入查看命令
peer channel list
可以看到输出:
mychannel