环境
Centos7 64位操作系统。
需要安装3个基本环境Docker、Docker-Compose、Go语言环境安装,之后下载Fabric源码,最后测试网络。
一.安装Dokcer
1.安装前准备
检查内核版本,要在3以上
uname -r
2.如果以前安装过Docker
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
3.安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4.添加docker yum 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5.运行docker
systemctl start docker
6.查看docker版本,检查是否安装成功
docker -version
二.安装Docker-Compose
1.下载最新版本docker-compose到/usr/local/bin/docker-compose目录下。
docker compose 官放推荐的下载方式是这样,
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
以上方法下载太慢了,不推荐。
推荐使用国内地址
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2设置/usr/local/bin/docker-compose目录的权限
# chmod +x /usr/local/bin/docker-compose
3.检查是否安装成功
docker-compose --version
三.Go语言安装
1.从国内站点下载安装包,版本在1.11.x以上
wget https://studygolang.com/dl/golang/go1.12.4.linux-amd64.tar.gz
2.解压到/usr/local/go目录下
-C :指定解压目录
tar -zxvf go1.12.4.linux-amd64.tar.gz -C /opt
在/opt下会自动创建一个go目录,无需自己创建
2.创建gopath目录,作为工作目录
3.配置环境变量
创建go工作目录
mkdir /opt/gopath
在/etc/profile文件末尾添加
# vi /etc/profile
export GOPATH=/opt/gopath
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH
使其立即生效
source /etc/profile
5.查看是否配置成功
go version
四.Fabric安装
1.创建目录并进入
mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
还需要借助git工具,因此还要下载git
yum install git
2.下载源码
方法一:(不推荐)下载GITHUB上的源码
从github上拉取Fabric源码
git clone https://github.com/hyperledger/fabric.git
可能下载失败,出现RPC failed错误,原因是git的curl的postBuffer默认值较小。解决方法:修改git传输字节限制,再重新下载
git config –global http.postBuffer 524288000
方法二:(推荐)通过码云下载。
用自己的码云从github账号上导入,具体方法见:待写
这里可以直接用我的地址,下载完成不到一分钟,而方法一可能一个小时也下不完。
git clone https://gitee.com/firefly_ignition/fabric-samples.git
3.查看并切换当前分支,我选择的是1.4.0版本
cd ./fabric
git branch -a
git checkout v1.4.0
4.安装Fabbric-sample示例
方法一.进入fabric/scripts目录可以看到一个bootstrap.sh脚本
直接执行bootstrap.sh脚本
bash bootstrap.sh
此处执行时间比较久,参考过其他文章说重新执行,亲测无效,如下图。
其实脚本帮我们干了几件事:
- 从 github.com 克隆 hyperledger/fabric-samples 存储库
- 使用 checkout 签出对应指定的版本标签;
- 将二进制文件(bin)和配置文件(config)安装到 fabric-samples 存储库的根目录中;
- 下载指定版本的 Hyperledger Fabric Docker 镜像文件,将下载的 Docker 镜像文件标记为 “lastest"。
方法二.(推荐) 手动下载
通过对脚本的分析我们可以手动下载,主要完成三个步骤
1.下载fabric-sample。和下载fabric源码同理,这里使用我自己的码云地址
git clone -b v1.4.0 https://gitee.com/firefly_ignition/fabric-samples.git
cd fabric-samples
git checkout v1.4.0 //切换版本
注意: fabric-sample目录与fabric目录同级
2.下载二进制文件
需要下载两个压缩包,选择相应版本下载,我的网盘链接:
https://pan.baidu.com/s/1xrLOnGIRUMiRVODW1WpDDQ
提取码:j60x
压缩文件hyperledger-fabric-linux-amd64-1.4.0.tar包内有 bin 和 config 两个文件夹
hyperledger-fabric-ca-linux-amd64-1.4.3.tar包内有 bin 文件夹
将压缩包上传并解压到fabric-sample目录下
3.下载镜像
先配置加速镜,不然下载很慢
# mkdir -p /etc/docker
# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8w1wqmsz.mirror.aliyuncs.com"]
}
EOF
# systemctl daemon-reload
# systemctl restart docker
可以将 fabric/scripts 目录下的 bootstrap.sh 脚本,复制到fabric-sample目录下
删除 bootstrap.sh 中 samplesInstall 和 binariesInstall 步骤,只执行镜像下载的步骤。
执行 bootstrap.sh 脚本:
$ ./bootstrap.sh 1.4.0 1.4.0 0.4.15
下载好了会列出镜像:
4.测试网络
启动网络
$ cd ./fabric-samples/first-network/
$ ./byfn.sh up
出现以上结果表示网络测试成功
docker ps命令可以查看到节点的启动情况
最后别忘了关闭网络
./byfn.sh down
参考文章:
[1]https://www.icode9.com/content-1-180278.html
[2]https://blog.csdn.net/qq_34680444/article/details/87257141