(1)安装前提条件:

这些前提条件的满足确保了你可以顺利地搭建和运行 Fabric 区块链网络,并进行链码的开发、部署和执行。

  • 安装 Docker:确保系统上已经安装了 Docker,并且 Docker 服务正在运行。

Docker:Fabric 使用 Docker 容器化技术来部署和管理区块链网络的各个组件。Docker 提供了一个轻量级、可移植的容器运行环境,使得在不同的操作系统和平台上都可以一致地运行 Fabric 网络。

在 Ubuntu 20.04 上安装 Docker 的步骤如下:

1. 更新软件包列表:

sudo apt update

2. 安装必要的依赖包,以便使用 apt 通过 HTTPS 访问 Docker 仓库:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

3. 添加 Docker 官方 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 添加 Docker 的 APT 仓库:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 更新软件包列表:

sudo apt update

6. 安装 Docker 引擎:

sudo apt install docker-ce docker-ce-cli containerd.io

7. 验证 Docker 是否正确安装:

sudo docker run hello-world

如果安装成功,将会看到一条消息,确认 Docker 正常工作。

8. (可选)将当前用户添加到 docker 用户组中,以便无需使用 sudo 运行 Docker 命令:

sudo usermod -aG docker $USER

需要重新登录才能使用户组更改生效。

更新docker用户组 :
newgrp docker
验证docker:
docker -v
docker ps -a

9. 启动Docker服务:

sudo systemctl start docker

查看docker服务状态:sudo systemctl statusdocker

设置docker服务开机自启动:sudo systemctl enable docker

  • 安装 Docker Compose:确保系统上已经安装了 Docker Compose。

Docker Compose:Docker Compose 是 Docker 的一个工具,用于定义和运行多容器的应用程序。在 Fabric 环境中,我们使用 Docker Compose 来定义和配置多个容器,包括 Peer 节点、Orderer 节点、CA(Certificate Authority)等。

在 Ubuntu 20.04 上安装 Docker Compose 的步骤如下:

1. 下载 Docker Compose 二进制文件:

(下载 docker-compose到/usr/local/bin/docker-compose目录下)

sudo curl -L "https://github.com/docker/compose/releases/latest/download/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 --version

如果安装成功,将会显示 Docker Compose 的版本信息。

  • 安装 Go:确保系统上已经安装了 Go 编程语言环境。

Go 编程语言环境:Fabric 是使用 Go 编程语言开发的,因此在搭建 Fabric 环境之前需要安装 Go 编程语言环境。Go 编程语言环境提供了编译和运行 Fabric 的工具链,以及一些必要的依赖库。

在 Ubuntu 20.04 上安装 Go 编程语言环境的步骤如下:

1. 下载 Go 二进制文件:
– 前往 Go 官方网站(https://golang.org/dl/) 国内的:(https://studygolang.com/dl)查找适用于 Ubuntu 20.04 的 Go 二进制文件。
– 在下载页面中选择适合你的操作系统和架构的压缩包(通常是 `.tar.gz` 格式)。

2. 解压并安装 Go:
– 打开终端,导航到下载目录,并使用以下命令解压下载的压缩包(请根据实际文件名进行替换):

sudo tar -C /usr/local -xzf go.linux-amd64.tar.gz

– 注意,这将会将 Go 安装到 `/usr/local/go` 目录中。

GOPATH是作为编译后二进制的存放目的地和import包时的搜索路径 (其实也是你的工作目录, 你可以在src下创建你自己的go源文件, 然后开始工作)。

  1. GOPATH之下主要包含三个目录: bin、pkg、src。
  2. bin目录主要存放可执行文件; pkg目录存放编译好的库文件, 主要是*.a文件; src目录下主要存放go的源文件。
可以把GOPATH创建在主⽬录中:mkdir -p /home/{自己的ubuntu用户名}/gopath/pkgmkdir -p /home/{自己的ubuntu用户名}/gopath/binmkdir -p /home/{自己的ubuntu用户名}/gopath/src

GOROOT就是go的安装路径(这里将go下载在/usr/local/go里了)

3. 配置 Go 环境变量:

sudo gedit /etc/profile
对配置文件进行修改 :export GOROOT=/usr/local/goexport GOPATH=/home/{自己的ubuntu用户名}/GOPATHexport PATH=$GOPATH/bin:$GOROOT/bin:$PATH

4. 使配置生效:

使设置⻢上⽣效:(在Ubuntu系统中,source之后的变更只在本命令窗口有效 , 需要重启 电脑才能使全局有效 。

– 运行以下命令使配置生效:

source /etc/profile

5. 验证 Go 是否正确安装:
– 运行以下命令检查 Go 的版本:

go version

如果安装成功,将会显示 Go 的版本信息。

(2)Fabric 安装(使用git安装):

Fabric的安装作用是将Fabric的二进制文件安装到系统中,以便后面使用Fabric的命令行工具进行链码开发,网络配置和管理等操作。

前往 Hyperledger Fabric 官方网站(https://hyperledger-fabric.readthedocs.io/)或 GitHub 仓库(https://github.com/hyperledger/fabric)下载最新的 Fabric 二进制文件和样例代码。

1. 安装依赖项:

安装一些必要的依赖项,以确保可以成功下载Fabric二进制文件。这些依赖项包括Git和curl,以及Node.js和Python 2.x。

– 输入以下命令以更新软件包列表:

sudo apt update

– 输入以下命令以安装Git和curl:

sudo apt install git curl

– 安装Node.js(v10.x或更高版本):

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -sudo apt install -y nodejs

– 安装Python 2.x(Fabric仍然依赖于Python 2.x):

sudo apt install python

2. 获取Fabric Samples的源代码

fabric-samples`文件夹中找到各种示例和网络配置,以及其他与Fabric相关的实用工具和脚本。

– 创建目录$GOPATH/src/github.com/hyperledger/:(这里的GOPATH:/home/fabric/gopath)

mkdir -p /home/{对应自己的主机名}/gopath/src/github.com/hyperledger/

进入新创建的目录:

cd/home/{对应自己的主机名}/gopath/src/github.com/hyperledger/

-克隆Fabric Samples仓库:执行以下命令来克隆Fabric Samples的Git仓库:

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

这将从GitHub上的Fabric Samples仓库下载源代码并创建一个名为`fabric-samples`的文件夹。

– 切换到特定的版本(可选):

如果您想要获取特定版本的Fabric Samples,您可以切换到该版本的标签或分支。在`fabric-samples`文件夹中,执行以下命令切换到指定的版本:

cd fabric-samplesgit checkout 

3. fabric二进制工具获取:

Fabric二进制工具是Hyperledger Fabric区块链框架的核心组件,用于管理、操作和部署区块链网络,并可以执行各种区块链操作,从而实现可信的、去中心化的应用程序和业务逻辑。这些二进制工具提供了以下功能:

1. Peer工具(peer):用于管理和操作Peer节点,包括创建和管理通道、安装和实例化链码、提交和查询事务、执行链码测试等。

2. Orderer工具(orderer):用于管理和操作Orderer节点,包括创建和管理通道、处理事务的排序和广播、管理共识机制等。

3. 配置工具(configtxgen):用于生成和管理Fabric网络的配置文件,包括创建通道配置文件、组织和节点配置文件、生成创世区块配置等。

4. 加密工具(cryptogen):用于生成Fabric网络中的加密材料,包括密钥、证书和身份信息。这些材料用于保证通信的安全性和参与者身份的验证。

5. CA工具(fabric-ca-client):与Fabric证书颁发机构(CA)进行交互的命令行客户端工具,用于注册用户、颁发证书、撤销证书等。

6. CA服务器工具(fabric-ca-server):用于部署和管理Fabric证书颁发机构(CA)服务器,提供证书和身份管理服务。

这些二进制工具为开发者和运维人员提供了管理Fabric区块链网络的能力。通过使用这些工具,用户可以创建和管理区块链网络的各个方面,包括网络配置、节点管理、链码操作、身份和权限管理等。这些工具通常通过命令行界面(CLI)进行操作,并且可以通过脚本或自动化工具与其他系统进行集成。

– 要使用curl获取Fabric二进制工具1.4.7版本,可以执行以下命令:

curl -LO https://github.com/hyperledger/fabric/releases/download/v1.4.7/hyperledger-fabric-linux-amd64-1.4.7.tar.gz

这个命令会使用curl工具从GitHub的Fabric仓库下载1.4.7版本的Fabric二进制工具。下载的文件将保存为`hyperledger-fabric-linux-amd64-1.4.7.tar.gz`。

请注意,这个命令假设您使用的是Linux操作系统,并且目标架构是`amd64`。如果您使用其他操作系统或架构,请根据实际情况调整下载链接。

下载完成后,您可以使用适当的解压缩命令来解压缩该文件,并根据需要配置环境变量以使用Fabric二进制工具。

– 解压fabric二进制工具到fabric-sample目录下:(进到fabric-sample目录再执行以下目录)

sudo tar -xzf hyperledger-fabric-linux-amd64-1.4.7.tar.gz给config和bin文件权限sudo chmod -R 0777 binsudo chmod -R 0777 config

4. 修改环境配置:

gedit ~/.bashrc

添加下面环境变量:

export PATH=$PATH:/home/fabric/gopath/src/github.com/hyperledger/fabric-samples/bin

使配置文件生效:

source ~/.bashrc

5. 检验是否部署成功:

fabric-ca-client version

6.fabric镜像下载:

Fabric镜像下载为您提供了一种方便的方式来获取和部署Fabric网络,加速开发和部署过程,并提供了一个可靠和可重复的环境来构建和测试Fabric应用程序。

docker pull hyperledger/fabric-ca:1.4.7docker pull hyperledger/fabric-orderer:1.4.7docker pull hyperledger/fabric-peer:1.4.7docker pull hyperledger/fabric-ccenv:1.4.7docker pull hyperledger/fabric-tools:1.4.7docker pull hyperledger/fabric-javaenv:1.4.7docker pull hyperledger/fabric-baseimage:0.4.15docker pull hyperledger/fabric-baseos:0.4.15docker pull hyperledger/fabric-kafka:0.4.15docker pull hyperledger/fabric-zookeeper:0.4.15docker pull hyperledger/fabric-couchdb:0.4.15docker pull hyperledger/fabric-membersrvc:latest