参考教程和自己多次部署经验,讲述在Ubuntu16.04(也适用于18.04)上搭建Hyperledger Fabric环境的步骤,此教程针对任何版本(主要针对2.0.0版本讲解),仔细说明下载步骤,
fabric官方教程文档:https://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html(最新版本,左边栏的右下角可以切换版本)
一般不建议按照官方教程安装,缺少很多细节东西
目录
四、执行bootstrap.sh脚本拉取文件(fabric-samples以及相应的二进制文件、镜像文件)
一、更换国内源
在安装相关软件之前建议先更换国内源,否则下载或者访问东西会超级慢,就类似于你用国内网址访问国外网址,无法访问的原因
打开sources.list删除原本的内容,然后切换成国内镜像源
sudo vi /etc/apt/sources.list
将这部分粘贴进去(可能会粘贴处版权声明,删掉即可),保存退出。这里切换的是阿里源,也可以切换为华为等
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
然后更新,不更新就无法生效
sudo apt-get update
sudo apt-get upgrade
然后下载vim(有的博主将这个放在第一步,但是会导致没更换镜像源前,下载会很慢,浪费时间。
sudo apt-get update && sudo apt-get install vim
二、安装基本的环境
这部分分别需要安装:
curl(利用URL语法在命令行下工作的文件传输工具),在下载网站的东西时需要使用
docker:一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
docker-compose:适用于Compose文件格式定义的Docker上运行的多容器应用程序的工具。
golang:go语言
node.js :javascript语言
1、安装curl
安装命令
sudo apt install -y curl
查看安装结果和版本
curl -V
2、安装docker
安装命令
sudo apt install docker.io
查看安装结果和版本
docker --version
3、安装docker-compose
安装命令
sudo apt install docker-compose
查看安装结果和版本
docker-compose -v
4、安装golang
先打开浏览器去官网下载: https://golang.google.cn/dl/go1.15.2.linux-amd64.tar.gz.(换成相应版本修改数字即可)
下载完 Golang 压缩包之后,进入压缩包所在目录,使用 tar 命令将压缩包解压到指定的 /usr/local/ 路径下,命令如下:
tar -xzvf go1.15.2.linux-amd64.tar.gz -C /usr/local/
配置环境变量
sudo vim /etc/profile
打开配置文件在最后加入以下代码保存退出
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
使用 source 命令,使刚刚添加的配置信息生效
source /etc/profile
查看安装结果和版本
go version
5、安装node.js
先安装默认的低版本
sudo apt-get install nodejs
sudo apt install npm
更换镜像
npm config set registry https://registry.npm.taobao.org
更新node.js的版本
sudo npm install n -g
sudo n stable
查看安装结果和版本
node -v
三、下载fabric项目
首先,我们创建并进入项目目录
mkdir -p ~/go/src/github.com/hyperledger //创建目录,一般这样设置
cd ~/go/src/github.com/hyperledger //进入目
下载过程可能会缓慢,或者中断,因此我们首先加大缓存区
git config --global http.postBuffer 524288000
然后下载fabric项目
git clone git://github.com/hyperledger/fabric.git
成功后,可以进入fabric目录
cd fabric
查看分支,也就是查看目前所有的fabric版本
git branch -a
如果想要部署相应的fabric版本执行(本例子以V2.0.0版本为例,不同版本修改数字即可)
git checkout v2.0.0
再次查询结果如下所示
四、执行bootstrap.sh脚本拉取文件(fabric-samples以及相应的二进制文件、镜像文件)
1、执行bootstrap.sh
首先我们进入到scripts目录
cd scripts
然后执行bootstrap.sh文件
./bootstrap.sh
结果如下所示则成功
如果此处成功,直接跳转第3步
2、如果1报错
如果在执行bootstrap.sh自动下载fabric-samples和fabric镜像时,由于国内网络的原因,常常会下载 hyperledger-fabric-linux-amd64-2.0.0.tar.gz 失败的错误导致无法继续进行(我这里成功了,可以的话建议先这样尝试,因为接下来可能会导致下载的对应版本不一样,官方例子运行出现bug),同时要保证所有的faberic镜像下载成功。
失败后先拉取fabric-samples
git clone https://github.com/hyperledger/fabric-samples.git
拉取成功后切换到v2.0.0-beta分支(可查看当前分支,因为显示的到1.4版本的)
git branch -a
git checkout v2.0.0-beta
下载相应版本的二进制文件
下载完成后将压缩包复制到当前的fabric-samples目录,并解压压缩包
tar -xzvf hyperledger-fabric-linux-amd64-2.0.1.tar.gz
然后到第三步来进行验证,这一步还会有一些问题,会在注意里提示
3、验证部署是否成功
先进入当前目录中的fabric-samples目录
cd fabric-samples
然后用ls查询fabric-samples的目录里有first-network进去相应目录,然后执行相应的启动文件,看是否可以成功启动
cd first-network
./byfn.sh up //在first-network目录里启动
如果报错
这时需要将GOPROXY换成国内代理:
go env -w GOPROXY=https://goproxy.cn
export GOPROXY=https://goproxy.cn
再次运行
./byfn.sh down //关闭刚刚运行的
./byfn.sh up //重新运行
这样则成功