fabric 1.4 环境搭建
这是我在学习时对照官方给出的安装方法总结出来的方法,本篇文章用于记录我的学习经验
使用系统为 Ubuntu16.04
更新源
sudo apt -y update
安装cURL
sudo apt -y install curl
安装docker 和 docker-compose
安装docker
sudo apt -y install docker.io
安装 docker-compose
sudo apt -y install docker-compose
安装Golang
由于接下来安装的fabric是 1.4 的版本,根据官方文档的要求需要安装 1.12 以上的 Golang 版本,所以这里就安装 1.13.4 的Golang(1.12也是可以的,我一开始是用1.12.9,但之后要用到 go mod 的时候会出问题,然后换成1.13.4就行了,所以还是用1.13以上吧)
wget https://golang.google.cn/dl/go1.13.4.linux-amd64.tar.gz
解压到 /user/local/
sudo tar -xzf go1.13.4.linux-amd64.tar.gz -C /usr/local/
配置环境变量
sudo gedit /etc/profile
这时候会打开一个文件
在文件的最后加入以下的内容
export GOROOT=/usr/local/go
export GOPATH=${HOME}/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
如下图
然后保存并退出
然后重启系统
reboot # 这条命令是重启
安装fabric
在安装之前需要进行一些配置
创建docker用户组
sudo groupadd docker
将当前用户加入用户组
sudo gpasswd -a $USER docker
登录docker用户组
newgrp docker
创建目录并进入
mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger
由于国内网络原因,接下来的步骤会跟官方的不一样
拉取 fabric
git clone https://github.com/hyperledger/fabric
进入并切换分支到 1.4
cd ./fabric
git checkout release-1.4
执行脚本安装 docker 镜像
cd ./scripts
./bootstrap.sh -b
回到fabric目录下对fabric进行编译
cd ..
make release
将fabric-samples复制到hyperledger目录下
cd scripts/
cp -rf ./fabric-samples ../../
回到 fabric 目录下 并把 linux-amd64 下面的 bin 目录复制到 fabric 目录下和 fabric-samples 目录下
cd ..
cp -rf ./release/linux-amd64/bin ./
cp -rf ./release/linux-amd64/bin ../fabric-samples/
打开配置文件
sudo gedit /etc/profile
将最后一行的
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
改成以下内容
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:/home/$USER/go/src/github.com/hyperledger/fabric/bin:$GOPATH
如下图
保存并退出然后重启
网络测试
重启完后进入到 fabric-samples/first-network 目录下准备测试网络
cd ~/go/src/github.com/hyperledger/fabric-samples/first-network
开启测试网络
./byfn.sh up
最后输出以下内容表示成功
输入以下指令可以关闭测试网络
./byfn.sh down
我遇到过的报错
-
在编译fabric时会编译失败,那有可能是go语言的问题,可以装回1.12的再试试,因为我装的时候用的就是1.12.9版本的,是后来写链码时go mod 用不了才换的 1.13.4
-
启动网络的时候有可能启动不了,我遇到过的原因:
- 镜像没有安装完整,可以用
docker images
这条命令查看 - 没在docker用户组内执行,用
newgrp docker
指令可以切换回docker用户组内 - 没将 release/linux-amd64 中的 bin 目录复制到 fabric 或 fabric-samples 目录下,可以执行以下命令
cd ~/go/src/github.com/hyperledger/fabric cp -rf ./release/linux-amd64/bin ./ cp -rf ./release/linux-amd64/bin ../fabric-samples/
- 镜像没有安装完整,可以用