区块链Hyperledger Fabric环境搭建 手动编译解决网络问题

环境搭建

Fabric中的节点通过Docker容器来运行,需要预先安装Docker、Docker-Compose和Go语言环境。

Docker安装

删除预先安装的Docker

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

yum换源

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
yum list docker-ce --showduplicates | sort -r

安装Docker

yum install docker-ce

验证安装

docker -v

Docker换源
修改或新增 /etc/docker/daemon.json

vi /etc/docker/daemon.json
{

"registry-mirrors": ["http://hub-mirror.c.163.com"]

}

重启Docker

systemctl restart docker.service

常见的Docker源
Docker 官方中国区
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
中国科技大学
https://docker.mirrors.ustc.edu.cn
阿里云
https://pee6w651.mirror.aliyuncs.com

Docker-Compose 安装

预先下载curl并支持https

curl -L https://github.com/docker/compose/releases/download/1.25.1-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

验证安装

docker-compose -v

Go语言环境

从官网下载好对应安装包

tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz
 vim /etc/profile 
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath
source /etc/profile

验证版本

go version

Hyperledger Fabric源码下载

安装git

yum install git

建议安装路径

cd /opt/gopath/src/github.com/hyperledger

仓库是从GitHub上拉到Gitee中的

git clone https://gitee.com/huiyup/fabric.git

按照道理来说运行fabric中的scripts文件夹中bootstrap.sh文件就可以完成基本环境的搭建。
但是由于GitHub被墙,通过curl下载Github资源非常慢,并且经常会断开连接导致环境的搭建失败。

bootstrap.sh工作

bootstrap.sh 所做的工作为下载fabric-samples,下载bin、config文件夹并移动到fabric-samples文件夹下,下载Docker镜像。
下载fabric-samples

git clone https://gitee.com/huiyup/fabric-samples.git

bin目录

configtxgen  configtxlator  cryptogen  discover  fabric-ca-client  idemixgen  orderer  peer

config目录

configtx.yaml  core.yaml  orderer.yaml

bin和config可以从github上的下载地址使用本地下载不过很慢。

bin目录可以通过源码编译的方式来获取。

make release

将bin文件移动到fabric-sample文件夹下。
fabric-ca是另外的一个单独的项目,不在fabric项目里。
git获取fabric-ca源码编译生成fabric-ca-client放到bin文件夹里

git clone https://gitee.com/huiyup/fabric-ca.git
cd fabric-ca
make fabric-ca-client

拉取镜像
编辑bootstrap.sh文件
拉到最后,注释掉两行,只保留拉去Docker容器的功能。

if [ "$SAMPLES" == "true" ]; then
    echo
    echo "Clone hyperledger/fabric-samples repo"
    echo
#    cloneSamplesRepo
fi
if [ "$BINARIES" == "true" ]; then
    echo
    echo "Pull Hyperledger Fabric binaries"
    echo
#    pullBinaries
fi
if [ "$DOCKER" == "true" ]; then
    echo
    echo "Pull Hyperledger Fabric docker images"
    echo
   pullDockerImages
fi

运行文件。
下载好之后,利用例子中的first-network来进行测试网络环境是否搭建成功


自己修改了例子中test-network的脚本方便部署链码

你可能感兴趣的:(其他,区块链,docker)