hyperledger-fabric教程ubuntu-安装-fabric并运行

40次阅读

共计 5511 个字符,预计需要花费 14 分钟才能阅读完成。

首先这篇文章的目标是教会大家如何在 ubuntu 零碎上装置 hyperledger fabric 并运行起来,因为目前网络上所有的教程都是之前的 fabric 版本,然而当初的 fabric 版本相较于之前版本曾经扭转了很多,如果应用之前的办法来装置 fabric 是不能胜利运行的

1. 首先得有一台零碎为 ubuntu 的服务器(centos 其实操作原理差不多),举荐应用虚拟机装置 ubuntu 零碎。

2. 更换 apt 的下载源,官网下载源很慢,咱们须要更换到国内的镜像站

2.1 进入 /etc/apt 目录

cd /etc/apt 

2.2 备份 sources.list 文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

2.3 关上 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

2.4 对 apt-get 进行更新

sudo apt-get update
sudo apt-get upgrade

3. 环境装置

咱们须要装置的软件有 go docker docker-compose nodejs

3.1 装置 go

# 进入根目录
cd ~

#下载压缩包
wget https://studygolang.com/dl/golang/go1.13.4.linux-amd64.tar.gz

#对压缩包解压
tar -xzf go1.13.4.linux-amd64.tar.gz

#删除压缩包
rm -rf go1.13.4.linux-amd64.tar.gz

#把根目录下的 go 文件夹挪动到 /usr/local/ 目录下
mv go/ /usr/local/

#批改环境变量
vi ~/.bashrc

#GOROOT 门路是软件装置门路
export GOROOT=/usr/local/go

#GOPATH 门路是平时咱们的工作门路,go 我的项目搁置在这个目录下
export GOPATH=$HOME/go

#增加到环境变量
export PATH=$PATH:/usr/local/go/bin

#退出 bashrc 文件而后更新环境变量
source ~/.bashrc

#应用 go version 能够查看 go 是否装置胜利
go version

#go env 能够查看 go 的环境变量是否设置胜利
go env

3.2 装置 docker

# 更新 apt 包索引
sudo apt-get update

# 下载安装工具
sudo apt-get install apt-transport-https ca-certificates software-properties-common

# 增加官网密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 退出 apt 仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 更新 apt 包索引
sudo apt-get update

# 装置 Docker-CE
sudo apt-get install docker-ce

# 验证版本
docker version

#将非 root 组退出 docker 组
sudo groupadd docker
sudo usermod -aG docker cigod

# 增加阿里云 Docker 镜像
sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json

#将上面内容增加到该文件中
{"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}

# 重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

3.3 装置 docker-compose

# 下载 docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

# 容许其余用户执行 compose 相干命令
sudo chmod +x /usr/local/bin/docker-compose

# 验证版本
docker-compose -version

3.4 装置 nodejs

# 请尽量避免在 Ubuntu 上应用 apt-get 来装置 node.js, 如果你曾经这么做了,请手动移除
sudo apt-get purge nodejs && sudo apt-get autoremove && sudo apt-get autoclean

#应用 nvm 来装置
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

#查看 nvm 是否装置胜利
nvm --version

#查看 nodejs 能够装置的所有版本
nvm ls-remote     

#目前 nodejs 最新的长期反对版为 12.18.2
nvm install 12.18.2

#查看 nodejs 版本
node -v

4. 获取 bootstrap.sh 文件

首先解决 git clone 速度慢的问题

在网站 https://www.ipaddress.com/ 别离搜寻域名,而后失去他们的 ip 地址

github.global.ssl.fastly.net
github.com

以下截图为目前两个网址的 ip 地址,用户需依据本人查到的 ip 地址进行批改

# 关上 hosts 文件
vi /etc/hosts

#批改 hosts 文件,在文件开端增加以下内容
199.232.69.194 github.global-ssl.fastly.net
140.82.113.3 github.com

#退出文件,而后更新 DNS             
sudo /etc/init.d/networking restart

#创立目录
mkdir -p /root/go/src/github.com/hyperledger

#进入该目录
cd /root//go/src/github.com/hyperledger

#下载 fabric,应用这个地址下载速度要快很多,我在虚拟机上能达到 2M/S,因为这个 fabric 的包挺大,所以须要等一段时间
git clone https://github.com.cnpmjs.org/hyperledger/fabric.git

#下载完 fabric 后,bootstrap.sh 就在 fabric 目录下的 scripts 文件夹中 

如果应用 git clone https://github.com.cnpmjs.org… 这个命令后的确速度十分慢,那么能够应用上面的办法获取 bootstrap.sh 文件,曾经下载好 fabric 的则不须要独自下载 bootstrap.sh

关上网站 https://www.ipaddress.com/ 搜寻域名 raw.githubusercontent.com 的 ip 地址, 因为 ip 地址可能扭转,所以用户须要将本人查到的 ip 地址放上去

# 关上 hosts 文件
vi /etc/hosts

#批改 hosts 文件,在文件开端增加以下内容,留神其中的 ip 地址应该改成用户所查到的 ip
199.232.68.133 raw.githubusercontent.com

#退出文件,而后更新 DNS             
sudo /etc/init.d/networking restart

#创立目录
mkdir -p /root/go/src/github.com/hyperledger/fabric

#进入该目录
cd /root//go/src/github.com/hyperledger/fabric

#手工下载 bootstrap.sh 
wget https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh

#批改权限
chmod u+x bootstrap.sh

5. 运行 bootstrap.sh 文件

因为这个文件中须要下载一些二进制的文件,然而这些文件又寄存在国外的网站上,所以下载速度十分慢,所以不能通过间接运行 bootstrap.sh 文件来装置 fabric 所需的工具和镜像。通过查看该文件发现该文件次要做了三件事,1. 下载 fabric-samples 到 fabric 目录下,2. 下载相干的二进制文件,3. 下载相干的 docker 镜像,所以咱们能够手动来实现这三个步骤

5.1 下载 fabric-samples 到 fabric 目录下

# 进入该目录
cd /root//go/src/github.com/hyperledger/fabric

#下载 fabric-samples
git clone https://github.com.cnpmjs.org/hyperledger/fabric-samples.git

5.2 下载相干的二进制文件

首先关上 bootstrap.sh 查看两个二进制文件的版本,目前最新的版本是 2.2.0 和 1.4.7.

两个二进制文件的下载地址为(留神:依据本人查看 bootstrap.sh 文件失去相应版本号,从而批改地址其中的版本号):

https://github.com/hyperledge…

https://github.com/hyperledge…

我曾经把这两个文件放在百度网盘中了,要的能够自取(地址,提取码:zn0v)

如果大家想本人下载最新的版本最好应用 IDM(Internet Download Manager)下载。

而后大家能够通过 filezilla 软件或者其他软件把这两个文件放到 /root/go/src/github.com/hyperledger/fabric/fabric-samples/ 这个目录上面

# 在该目录上面解压这两个压缩包
tar -xzf hyperledger-fabric-linux-amd64-2.2.0.tar.gz
tar -xzf hyperledger-fabric-ca-linux-amd64-1.4.7.tar.gz

解压实现之后会在这个目录上面生成一个 /bin 文件夹,bin 目录上面寄存的都是一些生成 fabric 网络所需的工具,到目前为止,bootstrap 文件中的第二个步骤曾经弄完了,上面进行第三个步骤

5.3. 下载 docker 镜像

回到搁置 bootstrap.sh 文件的目录上面,而后执行上面的命令

# 该命令会下载所需的 docker 镜像
./bootstrap.sh -s -b

下载实现后,会看到终端输入已装置的 docker 镜像

到目前为止,运行 fabric 网络所需的工具都已装置,上面进行第一次网络的运行。

6. 运行 fabric 网络

# 进入上面这个目录
cd /root/go/src/github.com/hyperledger/fabric/fabric-samples/test-network

#应用该命令启动网络
./network.sh up

启动胜利后,会输入正在运行的三个 docker 容器。

到这里,就曾经实现了 fabric 的装置和第一次运行,前面还会持续推出对于 fabric 系列的文章,敬请期待!

# 网络运行实现后,应用如下命令敞开网络
./network.sh down

正文完
 0