由于老板突然给我一个IBM的区块链课程网站,让我自学完IBM提供的区块链的两节课程,并完成fabric框架下的compose-playground这个区块链组件的单机搭建。这个单机搭建比较简单,IBM的课程有课后的这个组件相关的练习与文档,所以花了2天左右就完成了。然后老板就让我再次搭建多机集群的fabric,于是又折腾了半个月左右才完工。
本文主要记录下搭建多机的具体过程、问题与细节。主要参考的博客有http://www.cnblogs.com/studyzy/p/7237287.html;https://www.ibm.com/developerworks/cn/cloud/library/cl-lo-hyperledger-fabric-study-notes1/index.html等;
系统版本:Ubuntu16.04
先决准备:首先要测试系统是否ping www.baidu.com来测试是否网络正常,还要测试是否有安装git, curl等必备软件。并清理干净系统存在的docker等。
一、下载安装go语言
1、下载地址: wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
解压到指定路径下 tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
2、添加go环境变量
vi ~/.profile (如果root账号在/etc/profile添加go环境变量会报找不到文件之类的错误,错误后面会具体列出。所以该部分要设置正确。)
添加以下内容:
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=/opt/gopath
export PATH=$PATH:/opt/gopath/bin
3、编辑保存并退出vi后,使这些环境变量生效
source ~/.profile
4、把go的目录GOPATH设置为/opt/gopath,所以记得创建gopath文件夹
mkdir -p /opt/gopath
5、检验go是否安装成功
go version
二、docker 安装
1、先卸载清理干净存在的旧版本docker
apt-get remove docker docker-engine docker-ce docker.io
2、安装docker
apt-get update && sudo apt-get install docker.io
3、启动docker服务
service docker start
4、检验docker是否安装成功
dokcer version
三、docker-compose 安装
方法一:用pip安装docker-compose
1、apt-get install python-pip(或者python3-pip)
2、pip/pip3 install docker-compose
3、赋予权限
chmod +x /usr/bin/docker-compose( 这里有的是sudo chmod +x /usr/local/bin/docker-compose, 这 个主要看docker-compose文件的位置)
4、检验是否安装成功
docker-compose version
方法二:也可以从国内的进行DaoClound下载,为了速度快接下来从DaoClound安装Docker-compose,运行脚本:
1、curl -L https://get.daocloud.io/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose
2、 chmod +x /usr/bin/docker-compose
3、docker-compose version
四、下载fabricb源码并单机测试e2e网路例子
1、下载fabric源码
mkdir -p /opt/gopath/src/github.com/hyperledger
cd/opt/gopath/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
2、cd/opt/gopath/src/github.com/hyperledger/fabric
git checkout v1.0.0
3、cd/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
docker加速器配置:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://8ad7943c.m.daocloud.io
docker 镜像下载:
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0 (fabric切换版本要与镜像版本一致)
下载结果:
修改/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/base目录下的peer-base.yaml
将网络名改成如下名称:- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default
运行network_setup.sh
运行结果:
单机测试成功。
下篇开始多机部署。
有疑问加站长微信联系(非本文作者)