Fabric学习笔记(一)- Centos 7下的Fabric 2.3.2环境搭建

Centos 7下的Fabric 2.3.2环境搭建

  • 一、 环境准备
    • (一)、在VMware Workstation 15 安装一个Centos 7的虚拟环境,切换到图形化界面
    • (二)、打开终端,安装所需的库
    • (三)、go语言环境安装
    • (四)、docker安装
    • (五)、docker-compose安装
    • (六)、下载fabric源码,编译fabric
    • (七)、Fabric镜像下载
    • (八)、下载Fabric-ca,编译Fabric-ca-server和Fabirc-ca-client
    • (九)、fabric-sdk-go源码下载
    • (十)、测试网络
    • (十一)、总结

一、 环境准备

(一)、在VMware Workstation 15 安装一个Centos 7的虚拟环境,切换到图形化界面

  1. 参考文章链接:Centos 7切换图形化界面
  2. 其中可能在yum groupinstall "X Window System"时会报错:Cannot find a valid baseurl for repo: base/7/x86_6,参考这篇文章即可:安装图形化界面报错解决

(二)、打开终端,安装所需的库

  1. 切换root用户,输入命令:su root
  2. yum更新,输入命令:yum update
  3. 安装vim,输入命令:yum install vim
  4. 安装git,输入命令:yum install git
  5. 安装curl,输入命令:yum install curl
  6. 安装wget,输入命令:yum install wget
  7. 安装libtool libltdl-dev,输入命令:yum install libtool libltdl-dev 注:后面make编译fabric用到
  8. 安装jq,输入命令:yum install jq 注:后面fabric测试网络用到

1.wget:下载文件的工具,用在命令行下。经常要下载一些软件或从远程服务器恢复备份到本地服务器。
2.curl:利用URL语法在命令行下工作的文件传输工具。支持文件上传和文件下载。

(三)、go语言环境安装

  1. 下载Go压缩包,并解压移动

    • 进入Downloads目录,输入命令:cd ~/Downloads/
    • 输入命令:wget https://golang.google.cn/dl/go1.15.7.linux-amd64.tar.gz
    • 解压此压缩包,输入命令:tar -xzf go1.15.7.linux-amd64.tar.gz
    • 移动压缩后的文件夹到/usr/local底下去,输入命令:mv go /usr/local
  2. 配置Go全局环境变量

    • 输入命令:vim ~/.bashrc
    • 在后面加入:
      export  PATH=$PATH:/usr/local/go/bin
      export  GOROOT=/usr/local/go
      export  GOPATH=$HOME/go
      export  PATH=$PATH:$HOME/go/bin
      
    • 使文件生效:source ~/.bashrc
  3. 查看go版本

    • 输入命令:go version
  4. 为当前用户设置go代理,国内镜像代理

    • 依次输入命令:
      sudo go env -w GO111MODULE=on
      sudo go env -w GOPROXY=https://goproxy.cn,direct
      

(四)、docker安装

  1. 安装国内阿里云镜像,输入命令:
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  2. 安装最新版本的docker,输入命令:yum install docker-ce
  3. 启动docker,输入命令:service docker start
  4. 查看docker版本,启动是否正常,输入命令:docker version

注:可参考这篇文章:centos 7 docker安装

(五)、docker-compose安装

  1. 安装依赖包,输入命令:yum install epel-release
  2. yum升级此依赖包,输入命令:yum -y update
  3. 安装pip,输入命令:yum -y install python-pip
  4. 升级pip,输入命令:pip install --upgrade "pip < 21.0"
  5. 安装docker-compose,输入命令:pip install -U docker-compose
  6. 查看版本,输入命令:docker-compose version

注:第五步可能会出现很多问题,可参考这篇文章:pip安装docker-compose问题
下面列出我安装时遇到的问题:
(1)、ERROR: Cannot uninstall ‘subprocess32’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
解决方法:
sudo find / -name subpro.egg-info
rm -rf /usr/lib64/python2.7/site-packages/subprocess32-3.2.6-py2.7.egg-info
(2)、ERROR: Cannot uninstall ‘requests’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
解决办法:
sudo find / -name requests.egg-info
rm -rf /usr/lib/python2.7/site-packages/requests-2.6.0-py2.7.egg-info

可能docker-compose有问题,可以通过命令:pip uninstall docker-compose卸载
再重新输入以下命令:

curl -L https://github.com/docker/compose/releases/download/1.27.2/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose

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

ln -s /usr/local/bin/docker-compose /usr/bin/

docker-compose --version

(六)、下载fabric源码,编译fabric

  1. 新建存放fabric源码的目录并进入此目录:
    mkdir -p $GOPATH/src/github.com/hyperledger
    cd $GOPATH/src/github.com/hyperledger
    
  2. 下载源码,输入命令:git clone https://github.com/hyperledger/fabric
  3. 查看fabric所有版本,并切换fabric版本
    (1)、首先,进入fabric目录,输入命令:cd fabric
    (2)、查看版本,输入命令:git tag
    (3)、切换版本,用fabric 2.3.2版本,输入命令:git checkout v2.3.2
    
  4. 编译fabric,输入命令:make release
  5. 编译成功后,进入底下的cmd文件夹,输入命令:cd cmd
    在这里插入图片描述
  6. 其中discover是服务发现命令,只需要检查另外六个是否安装好,输入以下命令:
    ../release/linux-amd64/bin/peer version
    ../release/linux-amd64/bin/orderer version
    ../release/linux-amd64/bin/configtxgen -version
    ../release/linux-amd64/bin/configtxlator version
    ../release/linux-amd64/bin/cryptogen version
    ../release/linux-amd64/bin/idemixgen version
    
    Fabric学习笔记(一)- Centos 7下的Fabric 2.3.2环境搭建_第1张图片
  7. 安装可执行文件,并授权
    sudo cp $GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin/* /usr/local/bin
    chmod -R 775 /usr/local/bin/configtxgen
    chmod -R 775 /usr/local/bin/configtxlator
    chmod -R 775 /usr/local/bin/cryptogen
    chmod -R 775 /usr/local/bin/peer
    chmod -R 775 /usr/local/bin/orderer
    chmod -R 775 /usr/local/bin/idemixgen
    chmod -R 775 /usr/local/bin/discover
    

(七)、Fabric镜像下载

  1. 进入scripts目录底下,输入命令:cd $GOPATH/src/github.com/hyperledger/fabric/scripts
  2. 镜像下载之前,先添加配置下镜像加速地址,不然下载会很慢
    (1)、输入命令:sudo vim daemon.json,并输入下面的内容,添加镜像加速地址:
    vim /etc/docker/daemon.json
    (2)、输入以下内容:
    	{
    		"registry-mirrors": ["https://aeckruos.mirror.aliyuncs.com"]
    	}
    (3)、保存后,使配置的镜像加速地址生效
    	sudo systemctl daemon-reload 
    	sudo systemctl restart docker 
    
  3. 执行底下的bootstrap.sh脚本文件,输入命令:./bootstrap.sh 这里下载需要点时间,可能网络延迟,会失败,多执行几遍应该就好了
    Fabric学习笔记(一)- Centos 7下的Fabric 2.3.2环境搭建_第2张图片
  4. 可通过命令查看所下载的镜像:docker images

(八)、下载Fabric-ca,编译Fabric-ca-server和Fabirc-ca-client

  1. 首先,回到hyperledger那个目录底下,下载fabric-ca源码,命令如下:
    cd $GOPATH/src/github.com/hyperledger
    git clone https://github.com/hyperledger/fabric-ca
    
  2. 编译下载的源码,依次输入以下命令:
    cd $GOPATH/src/github.com/hyperledger/fabric-ca
    make fabric-ca-server
    make fabric-ca-client
    
  3. 安装编译好的可执行文件,输入以下命令:
    cd $GOPATH/src/github.com/hyperledger/fabric-ca/bin
    sudo cp * /usr/local/bin/
    
    chmod -R 755 /usr/local/bin/fabric-ca-server
    chmod -R 755 /usr/local/bin/fabric-ca-client
    
  4. 检查是否可执行:
    fabric-ca-server version
    fabric-ca-client version
    

(九)、fabric-sdk-go源码下载

  1. 开发客户端安装golang-sdk,fabric-sdk-go是提供的Go语言开发包,应用程序可以利用fabric-sdk-go与fabric网络进行交互并访问链码
  2. 回到hyperledger那个目录底下,下载fabric-sdk-go源码,命令如下:
    cd $GOPATH/src/github.com/hyperledger
    git clone https://github.com/hyperledger/fabric-sdk-go
    

(十)、测试网络

  1. 首先,进入fabric ->> scripts ->> fabric-samples 的test-network目录,命令如下:
    cd $GOPATH/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network
    
  2. 开始启动测试网络,输入命令:./network.sh up
  3. 运行后如下图所示,没出现错误,说明fabric环境已经搭建好了:
    Fabric学习笔记(一)- Centos 7下的Fabric 2.3.2环境搭建_第3张图片

(十一)、总结

  • Fabric 2.3.2编译时需要go版本是1.15.7以上的,不然编译会报错。
  • 这里是用Centos 7下搭建的,之前写过一篇Ubuntu安装环境的,链接如下,也是参考这篇文章来的,内容都差不多:Unbutu Fabric 2.2.1环境搭建
  • 以上内容仅供参考,谢谢!

你可能感兴趣的:(Fabric学习,Fabric,2.3.2,Fabric,环境搭建)