Hyperledger Fabric2.5环境搭建(Windows系统下的WSL)

Hyperledger Fabric环境搭建(Windows系统下的WSL)

  • 介绍
  • 1、windows系统下的环境准备
    • 1.1 WSL介绍
    • 1.2 WSL安装
    • 1.3 补充
      • 如何打开WSL:
      • 如何配置WSL代理
      • WSL换源
  • 2、在windows下的Linux中安装Fabric所需要的组件
    • 2.1 环境准备
    • 2.2 安装git
    • 2.3 安装curl
    • 2.4 安装go
    • 2.5 安装JQ
    • 2.6 安装docker与docker-compose
  • 3、下载fabric与fabric-sampls

介绍

本人正在实现一个基于Fabric联盟链的供应链溯源系统,现在需要搭建Fabric2.5的运行环境,特此记录一下。
使用windows系统搭建Fabric环境大致分为两步
1、在Windows中配置Linux环境
2、在配置的Linux环境中安装Fabric运行所需要的工具

1、windows系统下的环境准备

本人使用的是Windows系统,但是因为Fabric的运行需要使用bash环境,所以需要在电脑上安装Linux环境。不管是在windows电脑上配置双系统还是使用vmware虚拟机在电脑上虚拟一个Linux系统都是相对复杂且占用电脑资源的。因此我们需要使用WSL(Windows Subsystem for Linux)来实现轻便的Linux环境。

1.1 WSL介绍

从windows 1011开始,微软为了使开发人员能够方便在Windows上快捷的使用Linux环境,开发了WSL (官方文档)。它是专门适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。

1.2 WSL安装

网上关于WSL的安装教程很多,这里贴一个B站上非常不错的教程。
官方文档是通过Windows命令行安装的,而B站的教程提供的方法更好。

WSL安装的其实就是一个Linux发行版系统,而市面上耳熟能详的发行版有Ubuntu、Debian、CentOS等等。这里大家跟教程一样下载Ubuntu版本的就好。

1.3 补充

如何打开WSL:

方法一:win+X,然后选择终端管理员,打开PowerShell命令行,然后输入wsl即可进入linux系统
在这里插入图片描述
方法二:直接搜索你下载的发行版应用,双击打开即可进入Linux命令行环境
在这里插入图片描述

如何配置WSL代理

我们有时候下载国外资源很慢,所以会使用代理。如果windows上使用clash进行代理了,那linux系统中也要配置一下

下面的教程是如何配置WSL代理。
步骤一 配置WSL代理
按照上述方法配置完代理后,如何启动wsl时,显示

“wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理”

解决方法教程

WSL换源

如果你的window没有使用clash进行代理。那么当你需要下载国外资源的时候会速度缓慢且有可能下载失败,这个时候需要将下载资源切换为国内镜像源。换源可看此教程中的Windows WSL换源

2、在windows下的Linux中安装Fabric所需要的组件

以下在Linux环境中安装的工具,都是在fabric中会用到的。至于各个工具的作用和用处,不懂的可以百度或者查看官方文档。

2.1 环境准备

#更新一下
sudo apt-get update

2.2 安装git

sudo apt-get install git

如果安装成功,运行下方代码可返回git版本信息

git version

2.3 安装curl

sudo apt-get install curl

如果安装成功,运行下方代码可返回curl版本信息

curl --version

2.4 安装go

根据需要去go官网选择需要下载的版本链接
在这里插入图片描述

#使用wget下载go
wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz
#解压tar包到/usr/local
sudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz

#配置环境变量
mkdir $HOME/go
#用vi打开~./bashrc,配置环境变量
vi ~/.bashrc
# 在最下方插入
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#使配置的环境变量生效
source ~/.bashrc
#检查是否配置正确
go version
# 配置goproxy环境变量加速国内下载
go env -w  GOPROXY=https://goproxy.io

2.5 安装JQ

sudo apt-get install jq
> 如果安装成功,运行下方代码可返回jq版本信息
jq --version

2.6 安装docker与docker-compose

安装docker和docker-compose可以和上述安装其他工具一样使用命令行的方式安装在Linux系统上,也可以直接在windows系统下安装docker desktop(安装时会安装docker和docker-compose),然后让它与Linux建立链接即可。本人是在windows上安装的docker。

1、下载安装docker desktop.教程

这个教程比较详细,对docker不太了解的同学可以全部看看。

2、将docker与Linux系统建立连接

  • 打开Docker Desktop设置。
  • 在“General”选项中,确保启用了“Use the WSL 2 based engine”选项。
    在这里插入图片描述
  • 在“Resources” -> “WSL Integration”选项中,确保您的Linux发行版已经被启用。
    在这里插入图片描述
    做完以上这些,可以重启一下。然后再次打开Linux系统,在命令行中输入
docker run hello-world

即可运行一个docker实例,这时候在docker desktop可以看到它。
在这里插入图片描述

3、下载fabric与fabric-sampls

前面我们已经将运行fabric所需要的环境配置完毕,现在我们就将我们的主角下载下来。

首先我们现在电脑上创建一个文件夹,用来存放它们

#创建文件夹用来存放
mkdir $HOME/hyperledger-fabric
#cd到创建的文件夹
cd $HOME/hyperledger-fabric

下载Fabric源码

git clone https://github.com/hyperledger/fabric.git

下载Fabric-samples

#先cd到刚下载的fabric的scrpits目录下
cd  hyperledger-fabric/fabric/scripts
#下载fabric-samples
git clone https://github.com/hyperledger/fabric-samples.git

下载Fabric二进制文件与Docker镜像

#查看bootstrap.sh文件中要求的版本信息
在这里插入图片描述
现在我们下载对应版本的fabric二进制文件和fabric-ca

#先cd到刚才下载的fabric-samples目录下
cd fabric-samples
#运行以下命令来下载Fabric二进制文件和Docker镜像。这个命令会下载指定版本的Hyperledger Fabric和Fabric CA二进制文件,并且拉取相关的Docker镜像
#curl -sSL https://bit.ly/2ysbOFE | bash -s -- <fabric_version> <fabric_ca_version> <thirdparty_version>
#如果不指定的话会默认下载最新版。但是既然我们已经从bootstrap脚本中知道要下载的对应版本,这里还是建议大家指定一下
curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.5.4 1.5.7 

#执行完后您应该会在fabric-samples/bin目录下找到Fabric二进制文件

#使用以下命令来检查Docker镜像是否已经正确下载
docker images

至此fabric的二进制文件就全部下载完毕了,我们把fabric-samples/bin下的二进制文件复制到 /usr/local/bin 目录下.这样fabric的这些程序就可以在全局范围下使用了。

# 进入到 ~/hyperledger-fabric/fabric/scripts/fabric-samples/bin 目录
$ cd ~//hyperledger-fabric/fabric/scripts/fabric-samples/bin
# 将这些二进制文件拷贝到 /usr/local/bin 目录下
$ sudo cp * /usr/local/bin

到此为止我们已经安装好了fabric,下一节我们将动手去操作fabric网络。教程