写在前面
本次安装的操作环境是Ubuntu16.04。
一、基本工具安装
本部分安装curl和golang。curl在安装docker时会用到。golang语言在Fabric中会用到。
1、安装curl
sudo apt-get -y install curl
2、安装golang
本次安装的版本是:go1.16.linux-amd64.tar.gz
1)下载golang安装包。官方网站:
https://studygolang.com/dl
下载完成后解压,移到/usr/local下:
tar -zxvf go1.16.linux-amd64.tar.gz
sudo mv go /usr/local/
2)配置环境变量:
sudo vim ~/.profile
添加如下内容:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
保存文件,并且重新加载新的环境变量。
source ~/.profile
3)查看go版本:
go version
说明:
本部分安装步骤参考文献如下:
https://www.cnblogs.com/bubbleboom/p/14073153.html
二、docker相关安装
3、安装docker
1)安装依赖包:
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
2)添加GPG密钥:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
3)添加软件源:
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
4)更新并安装Docker-CE
sudo apt-get update
sudo apt-get install docker-ce
说明:
1、docker安装主要参考自
https://www.cnblogs.com/bubbleboom/p/14073153.html
2、docker官方网站
https://docs.docker.com/engine/install/ubuntu/
4、安装docker-compose
1)用curl将Compose文件下载到/usr/local/bin目录中:
sudo curl -L https://github.com/docker/compose/releases/download/1.25.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2)下载完成后,将文件更改为可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
3)验证是否安装成功,查看docker-compose版本信息
docker-compose -v
说明:
1、安装主要参考自
https://www.cnblogs.com/bubbleboom/p/14073153.html
5、使普通用户对docker具有操作权限
docker安装好之后,仅root用户才可以运行docker命令。具体表现为需要在命令前使用sudo。而在Fabric中,使用sudo会带来环境变量的问题。解决这种冲突的方法是使普通用户可以运行docker命令。
具体操作:
0、确定docker处于运行状态
sudo systemctl start docker
1、创建docker用户组
sudo groupadd docker
2、将用户添加到用户组
sudo gpasswd -a ${USER} docker
3、重启docker使以上操作生效
sudo service docker restart
4、如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限。使用root用户执行如下命令,即可
sudo chmod a+rw /var/run/docker.sock
说明:
2、只有root用户才可以运行docker命令的原因:
https://docs.docker.com/engine/install/linux-postinstall/
3、使用sudo带来的环境变量问题。在使用Fabric测试网络过程中,“Interacting with the network”步骤会报错。
2.3.1版本报错如下:
ERRO 001 Fatal error when initializing core config : error when reading core config file: Config File "core" Not Found in "[/home/wqp/HyperledgerFabric2.x/fabric/scripts/fabric-samples/test-network]"
2.2版本报错如下:
ERRO 001 Fatal error when initializing core config : Could not find config file. Please make sure that FABRIC_CFG_PATH is set to a path which contains core.yaml
4、添加用户至用户组,还可以使用如下命令
sudo usermod -aG docker $USER
5、groupadd、gpasswd和usermod均是Linux命令。
https://www.runoob.com/linux/linux-comm-groupadd.html
https://www.runoob.com/linux/linux-comm-gpasswd.html
https://blog.csdn.net/lixgjob/article/details/81162528
6、docker官网提供的操作方法:
https://docs.docker.com/engine/install/linux-postinstall/
7、fabric官网的说明:
https://hyperledger-fabric.readthedocs.io/en/release-2.2/prereqs.html#docker-and-docker-compose
三、Fabric相关
6、下载Fabric源码
1)首先创建文件夹
mkdir HyperledgerFabric2.x
2)进入刚刚创建的文件夹
cd HyperledgerFabric2.x
3)GitHub上下载Fabric源码
git clone https://github.com/hyperledger/fabric
如果下载太慢,可以使用Gitee上的镜像仓库
git clone https://gitee.com/mirrors/fabric.git
说明:
(1)源码下载过程,使用普通用户身份即可,无需使用管理员身份(sudo)。这样也可以防止后续出现sudo与环境变量的冲突问题。
(2)本次安装使用的是gitee进行下载。
(3)Fabric源码也可以自己访问GitHub网站,手动下载。下载时可以选择版本。
下载网址:https://github.com/hyperledger/fabric
网站打开过程有点慢,需耐心等待。打开后,界面如下:
点击左侧maser处,可以选择代码版本:
版本选择好之后,点击右侧code,选择Download ZIP,即可完成下载。
7、下载Fabric-samples
Fabric samples是Fabric官方为了学习和测试而提供的一个示例网络。通过Fabric samples,再结合官网教程,可以快速对Fabric进行学习。
具体下载操作如下:
进入fabric源码的scripts目录,在该目录下启动脚本:bootstrap.sh。
cd fabric/scripts
./bootstrap.sh # 该命令会下载官方提供的示例代码和镜像文件,然后进入漫长的等待。
说明:
(1)下载过程可能因为网络问题而停止。解决方法是更换软件源,本次成功下载所使用的软件源是:http://mirrors.tuna.tsinghua.edu.cn/ubuntu
(2)bootstrap.sh脚本解析。
该脚本文件完成三件事:1、下载fabric-samples repo;2、下载platform-specific binaries;3、下载docker image。
实际上,fabric-samples repo、platform-specific binaries可以通过手动下载,下载完成后解压的相应位置。下载网址和所需版本信息均可以从bootstrap.sh文件中获得。
下载完成后,fabric-samples repo的存在形式是fabric-samples文件夹;platform-specific binaries的存在形式是bin文件夹和config文件夹;要将bin文件夹和config文件夹放在fabric-samples文件夹,fabric-samples文件夹放在与bootstrap.sh相同的目录下。
手动下载完成后,可以使用如下命令跳过前两步的下载:
./bootstrap.sh -sb
命令中参数含义可以从bootstrap.sh的帮助信息中获得。查看帮助信息:
./bootstrap.sh -h
帮助信息如下:
Usage: bootstrap.sh [version [ca_version]] [options]
options:
-h : this help
-d : bypass docker image download
-s : bypass fabric-samples repo clone
-b : bypass download of platform-specific binaries
e.g. bootstrap.sh 2.2.2 1.4.9 -s
will download docker images and binaries for Fabric v2.2.2 and Fabric CA v1.4.9
(3)本部分参考文献:
https://blog.csdn.net/qq_43681877/article/details/110896678
(4)Fabric官方关于本部分的描述:
https://hyperledger-fabric.readthedocs.io/en/release-2.3/install.html
致谢
感谢所有参考文献的作者!
网友评论