fabric2.X环境部署教程

总结为几个步骤:

二进制和CA文件下载源地址链接(经常打不开且下载极慢):
二进制
CA
二进制和CA文件下载链接(本人上载了部分资源)mac选择下载darwin版本、linux选择linux版本即可:
https://download.csdn.net/user/weixin_44336181/uploads
一、Prerequisite
1、安装Git
2、安装cURL
3、安装docker
4、安装JQ(可选不安装,仅在与通道配置事务相关的教程中需要)

MAC版:

1、安装Homebrew

	$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
	$ brew --version
	Homebrew 2.5.2

2、Git

$ brew install git
$ git --version
git version 2.23.0

3、cURL

$ brew install curl
$ curl --version
curl 7.64.1 (x86_64-apple-darwin19.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.39.2
Release-Date: 2019-03-27

4、Docker
如果是Home-brew v2.x:

$ brew cask install --appdir="/Applications" docker

如果是Homebrew v3.x:

$ brew install --cask --appdir="/Applications" docker

Docker安装好以后必须要保证开启docker服务。

$ open /Applications/Docker.app

5、安装GO

$ brew install go
$ go version
go1.15.7 darwin/amd64

6、安装JQ

$ brew install jq
$ jq --version
jq-1.6

Linux版

1、git

$ sudo yum install git

2、Git

$ sudo yum install curl

3、Docker

使用官方安装脚本自动安装
安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

手动安装
卸载旧版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装 Docker Engine-Community
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

使用以下命令来设置稳定的仓库。

使用官方源地址(比较慢)

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

可以选择国内的一些源地址:

阿里云

$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

清华大学源

$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community
安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io
  • 如果提示您接受 GPG 密钥,请选是。
docker-compose 安装命令
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

下载完成后,将文件更改为可执行权限:

sudo chmod +x /usr/local/bin/docker-compose

验证是否安装成功,查看docker-compose版本信息

docker-compose -v

启动 Docker。

$ sudo systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

$ sudo docker run hello-world

用docker默认的源,在国内的话会比较慢,我们可以配置镜像加速器:

配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://d7aogz72.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

如果需要卸妆,可运行以下命令卸载 docker
删除安装包:

yum remove docker-ce

删除镜像、容器、配置文件等内容:

rm -rf /var/lib/docker

4、Go

安装GoLang
下载Golang包:https://golang.google.cn/dl/

wget https://golang.google.cn/dl/go1.17.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.17.linux-amd64.tar.gz

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

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

将其添加到配置文件,持久生效

sudo vim ~/.profile

添加如下内容

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

保存文件,并且重新加载新的环境变量

source ~/.profile

查看go版本

go version

出现版本则表示安装成功
建议修改go国内代理

go env -w GOPROXY=https://goproxy.cn,direct


Fabric环境搭建

下载Fabric源码
首先创建文件夹

mkdir HyperledgerFabric2.x

进入刚刚创建的文件夹

cd HyperledgerFabric2.x

GitHub上下载Fabric源码

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

如果下载太慢,可以使用Gitee上的镜像仓库

git clone https://gitee.com/demonwuwen/fabric.git
#或者
git clone https://gitee.com/mirrors/fabric.git

进入文件夹

cd fabric

可以查看当前fabric分支版本:

[root@localhost fabric]# git branch -a
* feature/ca
  remotes/origin/HEAD -> origin/feature/ca
  remotes/origin/feature/ca
  remotes/origin/feature/convergence
  remotes/origin/main
  remotes/origin/release-1.0
  remotes/origin/release-1.1
  remotes/origin/release-1.2
  remotes/origin/release-1.3
  remotes/origin/release-1.4
  remotes/origin/release-2.0
  remotes/origin/release-2.1
  remotes/origin/release-2.2
  remotes/origin/release-2.3
  remotes/origin/v0.6
  remotes/origin/v1.0.0-preview

将文件分支版本切换到自己需要的版本,我这里是需要用到2.2,所以就切换到2.2

git checkout release-2.2

下载fabric-samples和对应的镜像,进入script文件夹:

cd scripts

因为用bootstrap.sh脚本下载binary文件太慢,所以我们选择手动下载二进制文件,通过vim bootstrap.sh 命令找到133行,将Binary=true,将true改为false。下载fabric-sample也可能会太慢,我们也可以降sample的true改为false。这样就可以避免下载binary和sample文件。如果下载很快当我没说。

下载对应镜像文件

cd fabric/scripts
sudo ./bootstrap.sh # 该命令会下载官方提供镜像文件,然后进入漫长的等待。

通过命令 git clone https://gitee.com/demonwuwen/fabric-samples.git
在scripts目录下会有fabric-sample文件夹,特别注意:将fabric-sample一定要切换到自己使用的分支,不然可能会报错。

git checkout release-2.2

二进制和CA文件下载源地址链接,要下载与自己使用版本对应的文件:
二进制
CA
(二进制和CA下载下来解压后生成bin目录和config目录,直接拷贝到fabric目录下即可。)
进入fabric下的scripts目录,在该目录下启动脚本:bootstrap.sh。
进入后将下载的二进制文件解压到此,bin里面存放的是二进制程序。
进入test-network文件夹

cd test-network

可以看到有哪些文件

ls
addOrg3  configtx  docker  network.sh  organizations  README.md  scripts  system-genesis-block

运行network.sh

./network.sh up createChannel

出现如下结果说明环境搭建成功
在这里插入图片描述

如果在启动网络时遇到错误
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-2add1a39bc5d -j RETURN: iptables: No chain/target/match by that name.
原因是关闭防火墙之后docker需要重启,执行以下命令重启docker即可:

systemctl stop firewalld.service
service docker restart

test-network能够成功启动后,恭喜,说明你的fabric环境已经搭建成功了。
关闭test-network使用命令:

./network.sh down
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值