hyperledger fabric 1.4 单机安装教程

Fabric v1.4.0单机安装部署

一、前期准备

fabric的安装依赖于docker环境,所以前提需要安装好docker,同时对一些软件的版本也做了要求如下所示,:

  • curl需要最新版本,
  • docker 版本17.06以上
  • docker-compose1.14.0以上版本
  • go 版本1.11以上版本

本文档安装的操作系统为ubuntu,如果是centos,基础环境的准备请自行切换到centos,如需视频学习,可以参考视频教程.

  1. cURL最新版安装
   # 下载最新版的cURL并将其解压
   wgethttps://curl.haxx.se/download/curl-7.65.3.tar.xz
   sudo tar xzvf curl-7.63.0.tar.gz -C /home
      # 编译并安装cURL
   cd /home/curl-7.65.3
   ./configure
   make
   sudo make install

通过运行curl --version查看是否安装成功。

  1. Docker和Docker Compose安装
    • Docker
      首先卸载可能存在的旧版本
     sudo apt-get remove docker docker-engine docker.io containerd runc
   sudo apt-get update 
     sudo apt-get install  apt-transport-https  ca-certificates gnupg-agent software- properties-common
     curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
     sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu
   $(lsb_release -cs) stable"
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io

docker version查看是否成功

   - Docker Compose

下载Docker Compose二进制文件

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

     sudo chmod  x /usr/local/bin/docker-compose
     ```
  1. Go安装
   # 下载go1.11.linux-amd64.tar.gz并将其解压到指定目录(此处为/usr/local)
   wget https://studygolang.com/dl/golang/go1.11.linux-amd64.tar.gz
   tar xzvf go1.11.linux-amd64.tar.gz -C /usr/local
   
   goenvset.sh文件内容如下所示:
   
   cat >> /etc/profile << EOF
   export GOROOT=/usr/local/go
   export GOARCH=amd64
   export GOOS=linux
   export GOPATH=/home/ubuntu/gopath
   export GOBIN=\$GOPATH/bin
   export PATH=\$GOPATH/bin:\$GOROOT/bin:\$PATH
   EOF
   
   # 执行已有的goenvset.sh向/etc/profile中写入相应的环境变量
   sudo chmod 705 goenvset.sh      # 更改goenvset.sh的权限使其可执行
   sudo ./goenvset.sh                # 执行goenvset.sh脚本
   
   # 使环境变量生效
   source /etc/profile

二、Fabric安装

  1. 将fabric-samples下载到$GOPATH/src/github.com/hyperledger目录中
   mkdir -p $GOPATH/src/github.com/hyperledger
   cd $GOPATH/src/github.com/hyperledger
   # 克隆fabric-samples项目并切换到v1.4tag
   git clone https://github.com/hyperledger/fabric-samples.git
   cd fabric-samples
   git checkout -b sample v1.4.0

  1. 安装Fabric Binaries和Fabric相关的Docker镜像
   cd $GOPATH/src/github.com/hyperledger/fabric-samples/scripts
   # 安装Fabric、Fabric-ca以及第三方Docker镜像(./bootstrap.sh <fabric> <fabric-ca> <thirdparty>)
   ./bootstrap.sh 1.4.0 1.4.0 0.4.14

值得注意的是,如果由于网络问题,如果哪些包没有下载成功的话,此时需要进行手动安装。安装步骤如下:如以下二进制文件未下载完成则,人工执行命令

     wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.4.0/hyperledger-fabric-linux-amd64-1.4.0.tar.gz
     wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca/linux-amd64-1.4.0/hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz
     
     tar xzvf hyperledger-fabric-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
     tar xzvf hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
     
     #向/etc/profile中写入环境变量
     sudo echo 'export PATH=$GOPATH/src/github.com/hyperledger/fabric-samples/bin:$PATH' >> /etc/profile
     
     #使环境变量生效
     source /etc/profile

如docker相关镜像未下载完成则执行如下命令下载相关镜像。

     # 下载Fabric相关镜像(fabric-peer、fabric-orderer、fabric-ccenv、fabric-tools),此处以fabric-peer镜像为例,其他镜像同理
     docker pull hyperledger/fabric-peer:1.4.0
     docker tag hyperledger/fabric-peer:1.4.0 hyperledger/fabric-peer:latest
     
     # 下载Fabric第三方镜像(fabric-couchdb、fabric-kafka、fabric-zookeeper),此处以fabric-couchdb为例,其他镜像同理
     docker pull hyperledger/fabric-couchdb:0.4.14
     docker tag hyperledger/fabric-couchdb:0.4.14 hyperledger/fabric-couchdb:latest
     
     # 下载Fabric CA镜像
     docker pull hyperledger/fabric-ca:1.4.0
     docker tag hyperledger/fabric-ca:1.4.0 hyperledger/fabric-ca:latest

  1. 通过运行Build your first network样例来进行测试、
   cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network
   # 编译通过Golang开发的chaincode并启动相关的容器
   ./byfn.sh up
   
   ./byfn.sh up -l node
   
   ./byfn.sh up -o kafka
   
   #停止first-network网络中所有的容器,删除crypto材料和4个artifacts(genesis.block、mychannel.block、Org1MSPanchor.tx、Org2MSPanchor.tx)以及chaincode镜像
   ./byfn.sh down
   

参考资料

  1. Hyperledger Fabric release-1.4 官方手册
  2. docker官方教程(Get Docker CE for Ubuntu)
上一篇:区块链 性能压力测试工具Caliper


下一篇:区块链笔记(1)-fabric1.4环境搭建