超级账本Hyperledger Fabric环境配置,以Ubuntu16.04为例

注:如有侵权,请联系作者删除。如有转载,请说明出处。本教程使用时请提前检查是否安装git、curl、python等工具。如不知道使用哪些工具,可根据安装过程报错提示进行工具安装。

linux下Hyperledger Fabric环境搭建主要分为以下几个步骤:

1. 安装linux虚拟机或实体机

此处不对虚拟机安装方法进行说明,如有需要推荐搜索关键词VmWare UbuntuVmWare Centos等。(注,任意虚拟机均可)

2. 安装docker

可参照链接https://www.runoob.com/docker/ubuntu-docker-install.html

直接使用下述命令可直接安装,命令使用不区分目录

$ sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

3.安装docker-compose

可以参照链接https://docs.docker.com/compose/install/

命令可在任意目录输入,因为以下命令中均指定了目录。目前下文中的docker-compose版本为1.29.2。如需其他版本可参照以上链接指示。

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4.安装go

可参照链接https://www.runoob.com/go/go-environment.html

(1) 从https://golang.google.cn/dl/下载linux安装包,并通过ftp工具将安装包上传到linux系统中,或直接通过linux内置浏览器下载。

(2) 将下载后的二进制文件解压到/usr/local目录,如

tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz

(3) 将 /usr/local/go/bin 目录添加至 PATH 环境变量:

临时生效方法:

export PATH=$PATH:/usr/local/go/bin

永久生效方法:

编辑 ~/.bash_profile 或者 /etc/profile(不同的系统修改的文件不同,如ubuntu修改/etc/profile),并将以下命令添加该文件的末尾

export PATH=$PATH:/usr/local/go/bin

添加到 ~/.bash_profile 或者 /etc/profile后需要执行(不同的系统修改的文件不同,如ubuntu修改/etc/profile):

source ~/.bash_profile

source /etc/profile

5.下载fabric/fabric-ca相关docker镜像(可直接跳转到第9步)

ARCH=x86_64
IMAGE_TAG=2.4.2
CA_VERSION=1.5.2
BASE_IMAGE_VERSION=2.4.2

# pull images
docker pull hyperledger/fabric-peer:$IMAGE_TAG \
&& docker pull hyperledger/fabric-orderer:$IMAGE_TAG \
&& docker pull hyperledger/fabric-ca:$CA_VERSION \
&& docker pull hyperledger/fabric-tools:$IMAGE_TAG \
&& docker pull hyperledger/fabric-ccenv:$IMAGE_TAG \
&& docker pull hyperledger/fabric-baseos:$BASE_IMAGE_VERSION

# add fabric-peer fabric-orderer fabric-ca fabric-tools
docker tag  hyperledger/fabric-peer:$IMAGE_TAG hyperledger/fabric-peer \
docker tag  hyperledger/fabric-orderer:$IMAGE_TAG hyperledger/fabric-orderer \
docker tag  hyperledger/fabric-ca:$CA_VERSION hyperledger/fabric-ca \
docker tag  hyperledger/fabric-tools:$IMAGE_TAG hyperledger/fabric-tools

在这里插入图片描述

图5-1 docker pull获取的images

6.下载fabric-sample (可直接跳转到第9步)

下载链接:https://github.com/hyperledger/fabric-samples/

7.下载fabric release包,并解压后将bin/config放到fabric-sample文件夹中

下载链接: https://github.com/hyperledger/fabric/releases

在这里插入图片描述

图7-1 fabric release bin文件夹内容

在这里插入图片描述

图7-2 fabric release config文件夹内容

8.下载fabric-ca release包,该文件bin文件夹中包含fabric-ca-client和fabric-ca-server,需拷贝到步骤7中的bin文件夹中

下载链接:https://github.com/hyperledger/fabric-ca/releases
在这里插入图片描述

图8-1 fabric-ca bin文件夹内容

最终目录结构及具体文件
在这里插入图片描述

图8-2 /root/fabric-samples目录具体文件

在这里插入图片描述

图8-3 /root/fabric-samples/bin目录具体文件

在这里插入图片描述

图8-4 /root/fabric-samples/config目录具体文件

9.步骤5-8可以直接通过脚本完成。

可直接使用官方脚本和命令安装

(1)可指定FabricFabric CA版本

格式

curl -sSL https://bit.ly/2ysbOFE | bash -s -- <fabric_version> <fabric-ca_version>

例子,指定Fabric v2.2.5Fabric CA v1.5.2

curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.2.5 1.5.2

如果上述链接无法使用,可使用如下链接(https://bit.ly/2ysbOFE替换为https://raw.githubusercontent.com/hyperledger/fabric/release-2.2/scripts/bootstrap.sh)

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/release-2.2/scripts/bootstrap.sh| bash -s -- 2.2.5 1.5.2

如果不指定版本,可使用如下命令安装最新版本

curl -sSL https://bit.ly/2ysbOFE | bash -s

如果链接无法使用,将http://bit.ly/2ysbOFE替换为 https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s

注意区分上述两个长链接,第一个为指定版本release-2.2,后一个为master

使用:

进入fabric-sample/test-network,执行

$./network.sh down
$./network.sh up

注意,1.x版本sample使用 first-network/byfn.sh 脚本,2.x版本使用 test-network/network.sh 脚本。

在这里插入图片描述

图9-1 ./network.sh up界面及启动的docker images

参考教程:

https://www.freesion.com/article/33671040877/

https://learnblockchain.cn/books/enterprise/

https://blog.csdn.net/wxid2798226/article/details/81709837

https://blog.csdn.net/so5418418/article/details/78355868

fabric-ca教程:

http://www.manongjc.com/detail/15-zqgzneucconismy.html

https://hyperledger-fabric-ca.readthedocs.io/en/latest/users-guide.html

常用命令:

登录服务器:
ssh root@192.168.x.x 使用ssh命令以root用户登录ip为192.168.x.x的linux服务器

查看ip地址:
ifconfig
ip addr

目录相关命令:
cd xxxx 进入名字为xxxx的目录
cd ../ 跳转到当前目录的上一层目录
cd ../../ 跳转到当前目录的上两层目录
cd - 跳转到前一次访问的目录
pwd 查看当前所在目录的路径

文件操作:
vim xxx 使用vim命令打开xxx文件
i 进入文件后对文件开启编辑模式
esc键 退出编辑模式
:wq 保存文件并退出
:q 退出
:q! 强制退出

文件权限操作:
chmod a+x xxxx 为文件xxxx添加可执行权限

用户切换:
su 如果当前用户不是超级用户,可使用该命令切换到超级用户
su xxx 切换到名为xxx的用户
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐