目录
1. 前言
发现网上关于最新Fabric教程比较少,记录一下学习使用Fabric过程。
2. 软件及依赖安装
本机环境:VMWare下Ubuntu18
2.1 Go语言安装
首先安装一些必要的依赖:
sudo apt install libtool libltdl-dev
去该网站 https://studygolang.com/dl 下载Go语言的安装包,我下的是目前最新版本go1.15.6.linux-amd64.tar.gz
将压缩包解压到/usr/local目录下
sudo tar -C /usr/local -xzvf go1.15.6.linux-amd64.tar.gz
配置go环境变量,go语言的环境变量配置,需要两个值:
- GOROOT是系统上安装Go软件包的位置
- GOPATH是工作目录的位置
创建go工作目录 mkdir ~/go
编辑配置文件sudo vim ~/.profile
,在最后添加以下内容
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
运行一下命令使环境变量生效
source ~/.profile
使用go version
命令查看是否安装配置成功,如果显示了版本号,就说明安装成功: go version go1.15.6 linux/amd64
2.2 Docker及Docker-compose安装
2.2.1 Docker-ce安装
将当前用户添加到docker用户组
#创建docker用户组(如果没有)
sudo groupadd docker
sudo usermod -aG docker $USER
编辑/etc/docker/daemon.json文件,如果没有自行创建
{"registry-mirrors":[
"https://9mmbkrkd.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com/",
"https://reg-mirror.qiniu.com"
]}
重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
安装成功后docker -v
查看版本号验证是否安装成功
2.2.2 Docker-compose安装
下载docker-compose的二进制包(发帖时最新版本,新版本请自行更换版本号1.27.4):
sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#添加权限
sudo chmod +x /usr/local/bin/docker-compose
注:若出现bash: /usr/bin/docker-compose: No such file or directory
错误,运行以下命令
sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose -v
查看版本号
2.3 git安装
sudo apt install git
2.4 node.js和npm安装
如不需使用js则不必安装。
安装参考Ubuntu18.04 Install Node.js Npm,因为apt安装版本较老 需要更新一下
3 Fabric环境搭建
3.1拉取源码
创建目录并切换
mkdir -p ~/go/src/github.com/hyperledger/
cd go/src/github.com/hyperledger/
从github上拉取fabric的源码:
git clone "https://github.com/hyperledger/fabric.git"
如拉取速度太慢,推荐使用gitee将GitHub项目导入再从gitee下载,速度大大提升。参考教程
#gitee下载示例
git clone https://gitee.com/$USER/fabric.git
3.2 切换版本
切换目录到~/go/src/github.com/hyperledger/fabric
查看版本git branch -a
切换版本为你想要的版本git checkout release-2.2
3.3 启动安装程序
切换到fabric/目录下scripts目录 执行命令
cd scripts/
./bootstrap.sh
如果以上命令速度太慢则分开获取(3.3.1fabric-samples 3.3.2二进制文件 3.3.3镜像)
3.3.1 获取fabric-samples
类似上面gitee方法,编辑bootstrap.sh文件中https://github.com/hyperledger/fabric-samples.git改为你gitee地址,执行./bootstrap.sh -db
3.3.2获取二进制文件
下载hyperledger-fabric-linux-amd64-2.2.1.tar.gz和hyperledger-fabric-ca-linux-amd64-1.4.9.tar.gz到本地,复制到fabric-samples目录下,并解压
tar xzvf hyperledger-fabric-linux-amd64-2.2.1.tar.gz
tar xzvf hyperledger-fabric-ca-linux-amd64-1.4.9.tar.gz
解压后生成bin/与config/目录
将一下环境变量加入~/.profile,执行source ~/.profile
export PATH=$PATH:/home/czh/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/bin
export PATH=$PATH:/home/czh/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/config
3.3.3获取docker镜像
scripts目录下执行命令
./bootstrap.sh -sb
安装完后容器镜像如下所示(不知道为啥会下2.2?如有知情者请留言讨论)
hyperledger/fabric-nodeenv 2.2 8d164f92ca34 2 months ago 294MB
hyperledger/fabric-nodeenv 2.2.1 8d164f92ca34 2 months ago 294MB
hyperledger/fabric-nodeenv latest 8d164f92ca34 2 months ago 294MB
hyperledger/fabric-javaenv 2.2 f7b2f8cce0e4 3 months ago 407MB
hyperledger/fabric-javaenv 2.2.1 f7b2f8cce0e4 3 months ago 407MB
hyperledger/fabric-javaenv latest f7b2f8cce0e4 3 months ago 407MB
hyperledger/fabric-ca 1.4 dbbc768aec79 3 months ago 158MB
hyperledger/fabric-ca 1.4.9 dbbc768aec79 3 months ago 158MB
hyperledger/fabric-ca latest dbbc768aec79 3 months ago 158MB
hyperledger/fabric-tools 2.2 e9b802fadb41 3 months ago 519MB
hyperledger/fabric-tools 2.2.1 e9b802fadb41 3 months ago 519MB
hyperledger/fabric-tools latest e9b802fadb41 3 months ago 519MB
hyperledger/fabric-peer 2.2 ece149884124 3 months ago 55MB
hyperledger/fabric-peer 2.2.1 ece149884124 3 months ago 55MB
hyperledger/fabric-peer latest ece149884124 3 months ago 55MB
hyperledger/fabric-orderer 2.2 78a16ddd2cf4 3 months ago 38.4MB
hyperledger/fabric-orderer 2.2.1 78a16ddd2cf4 3 months ago 38.4MB
hyperledger/fabric-orderer latest 78a16ddd2cf4 3 months ago 38.4MB
hyperledger/fabric-ccenv 2.2 8e554c280cac 3 months ago 586MB
hyperledger/fabric-ccenv 2.2.1 8e554c280cac 3 months ago 586MB
hyperledger/fabric-ccenv latest 8e554c280cac 3 months ago 586MB
hyperledger/fabric-baseos 2.2 0b99d26b26ad 3 months ago 6.85MB
hyperledger/fabric-baseos 2.2.1 0b99d26b26ad 3 months ago 6.85MB
hyperledger/fabric-baseos latest 0b99d26b26ad 3 months ago 6.85MB
4. 用例测试
切换到fabric-samples/test-network目录下
./network.sh up
如果没出现错误,说明你的fabric已经搭建好了。