HyperLedger Fabric 2环境搭建

由于研究领域的变化,将从此开始对于区块链方向的学习。以下将介绍如何从零搭建一个全新的HyperLedger Fabric 2.2版本环境,并基于此开始智能合约、chaincode的学习。

写在最前

在环境的搭建过程中,将需要安装较多的工具(如docker等),以及拉取fabric源码等操作,安装会耗费较多的时间,可以通过修改虚拟机设置来使用主机网络,提高下载速度。具体过程可参照http://www.520mwx.com/view/72155

1.基础工具准备

fabric要求linux内核为3.10以上,本文以centos7为例进行环境搭建。

1.1安装git、curl、pip

yum install git
(用于后期对fabric源码的拉取)
yum install curl
(用来下载相关文件等)
yum -y install epel-release
yum install python-pip
(将通过 该工具进行 docker-compose的安装)
pip install --upgrade pip
基于此基本的工具以安装结束

1.2安装docker

(1)如果以前安装过Docker,需要先卸载,命令如下:
# sudo 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-utils提供的yum-config-manager,device-mapper-persistent-data和lvm2,命令如下:
# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
最后complete!



(2)设置稳定存储库:
# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
可以选择性的启用edge和测试存储库
# sudo yum-config-manager --enable docker-ce-edge 
# sudo yum-config-manager --enable docker-ce-test 
以下命令为禁用edgecunc存储库:
sudo yum-config-manager --disable docker-ce-edge
(3)安装Docker CE:
sudo yum install docker-ce
最后complete!


查看docker版本:
docker --version



启动docker:
systemctl start docker.service 


(4)设置docker开机自启:
 chkconfig docker on
至此,docker安装完成。

1.3安装docker-compose

可以通过官网下载压缩包的方式进行安装,本文将通过命令行的方式进行快速安装。
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
可以根据自己所需要的docker-compose版本不同进行替换。
通过已下命令赋予权限
chmod +x /usr/local/bin/docker-compose
最后,通过以下命令查看安装结果
 docker-compose version

1.4 go 安装

(1)下载golang源码包:下载地址:[https://golang.google.cn/dl/](https://golang.google.cn/dl/)

fabric2.0以上要求go版本为1.14以上,选择相关的版本进行下载。

(2)将下载的二进制包解压至 /opt/app/目录

依次执行如下命令

```
cd /opt   
mkdir app   
cd app   
tar -C /opt/app/ -zxvf go1.14.6.linux-amd64.tar.gz
```

创建GOPATH目录

 cd /opt

    mkdir goWork
(3)配置环境变量
vi /etc/profile  
​  
export GOROOT=/opt/app/go   
export GOBIN=$GOROOT/bin   
export PATH=$PATH:$GOBIN   
export GOPATH=/opt/goWork  
​  
source /etc/profile
(4)查看配置是否成功:
go version
执行命令:
go env

1.5安装node.js和npm

由于fabric中可以使用JavaScript进行chaincode 的开发,所以我们还要安装node.js。
(1)下载nodejs最新版:[https://nodejs.org/dist/v12.9.1/](https://nodejs.org/dist/v12.9.1/)



(2)安装路径创建
# mkdir /tmp/docker/nodejs
# cd /tmp/docker/nodejs
(3)解压


将node-v12.9.1-linux-x64.tar.gz上传到/tmp/docker/nodejs目录并解压。
#tar -zxvf node-v12.9.1-linux-x64.tar.gz

(4)配置环境变量:
vim /etc/profile
添加以下内容
# nodejs environment export NODE\_HOME=/tmp/docker/nodejs/node-v12.9.1-linux-x64 export PATH=$PATH:${NODE\_HOME}/bin
然后使配置文件生效。
source /etc/profile
(5)查看版本:
node -v

npm -v

2.fabric

2.1 git拉取fabric


由于frabic源码存储与github中,直接拉取会耗费很长的时间,先git到码云上,再通过码云上的地址进行gclone。
git clone https://gitee.com/xxx/fabric.git

2.2 下载对应的二进制文件


git完成之后,进入fabric目录下,由于直接运行bootstrap.sh拉取镜像过程中会下载二进制文件,耗费大量的时间,建议先自行下载对应的二进制文件,之后再跳过其中的下载过程。
(1)下载https://github.com/hyperledger/fabric/releases/download/v2.2.0/hyperledger-fabric-linux-amd64-2.2.0.tar.gz


(2)将文件上传到fabric中的scripts/fabric-samples中进行解压

(3)进入scripts/fabric-samples目录运行bootstrap.sh 将参数选择 -b 跳过二进制文件安装。
#./bootstrap.sh -b
以上操作完成后,会在fabric中出现test-network文件,并基于此进行相关网络测试。

3.测试网络

按照官方文档说明,进行test-network网络测试

[官方网址](https://hyperledger-fabric.readthedocs.io/en/latest/test\_network.html)

你可能感兴趣的:(fabric,区块链)