区块链之fabric环境搭建(自动、测试)

环境

centOS7.X
docker版本不低于17.06.2
docker-compose版本不低于1.14.0
go版本1.9.x
查看内核版本: uname -r
区块链之fabric环境搭建(自动、测试)
更新内核版本: sudo yum update

docker安装

  1. 如果之前安装过docker,卸载旧版本:sudo yum remove docker \ docker-engine (提示无匹配安装包也没问题,不用管)

  2. 安装docker ce:
    @安装需要的包
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    (如果yum被锁定:rm -f /var/run/yum.pid
    @设置稳定存储库
    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
    @安装docker ce
    sudo yum install docker-ce
    (此命令为安装最新版本,如若需要其他特定版本:sudo yum install docker-ce-版本号
    @启动docker并设置为开机自启
    systemctl start dockerchkconfig docker on
    @查询版本号,检验是否安装成功
    docker version

区块链之fabric环境搭建(自动、测试)

安装docker-compose

  1. 安装curl依赖
    yum install curl

  2. 下载docker-compose
    sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-'uname -s'-'uname -m' -o /usr/local/bin/docker-compose
    (下载目录为 /usr/local/bin/docker-compose
    如果提示没有curl:yum install curl

  3. 检验是否安装成功

  4. docker-compose version
    (如果提示权限不够:chmod +x /usr/local/bin/docker-compose
    如果提示没有那个文件或目录:cp /usr/local/bin/docker-compose /usr/bin

区块链之fabric环境搭建(自动、测试)

安装go环境

  1. 下载go安装包
    wget https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz(wget下载的文件默认下载到当前文件夹)
  2. 解压go压缩包
    tar -xvf go1.10.1.linux-amd64.tar.gz -C /usr/local
  3. 配置go环境变量
    vim /etc/profile
    将下面两行添加到文件末尾

export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath

source /etc/profile(可以多source几遍,防止出错)
查看是否source成功
echo $PATH

  1. 检验是否安装成功
    go version

区块链之fabric环境搭建(自动、测试)

fabric环境部署

  1. 新建文件夹
    cd /opt ,
    mkdir -p gopath/src/github.com/hyperledger
    cd /opt/gopath/src/github.com/hyperledger
  2. 安装git
    yum install git
  3. 下载fabric源码
    git clone https://github.com/hyperledger/fabric.git
    (下载过程比较长,一个小时左右,耐心等待)
  4. 进入fabric查看版本
    cd fabric
    git branch -a
  5. 切换到release分支
    git checkout release-1.2
  6. 安装gcc
    yum install gcc
  7. 编译生成二进制文件
    make release
  8. 安装镜像文件
    docker pull hyperledger/fanric-tools
    docker pull hyperledger/fanric-couchdb
    docker pull hyperledger/fanric-kafka
    docker pull hyperledger/fanric-ca
    docker pull hyperledger/fanric-zookeeper
    docker pull hyperledger/fanric-baseos
    docker pull hyperledger/fanric-baseimage
    docker pull hyperledger/fanric-javaenv
    docker pull hyperledger/fanric-ccenv
    docker pull hyperledger/fanric-membersrvc

上述镜像默认下载最新版本,peer和orderer需要下载和fabric相对应的版本,这点极其重要!!!!!!!!!!一定要确认这俩个镜像和你的fabric版本相一致,之前切换到release-1.2分支,所以下载1.2.0版本的peer和orderer

docker pull hyperledger/fanric-peer:1.2.0
docker pull hyperledger/fanric-orderer:1.2.0
查看镜像
docker images
将peer和orderer镜像标签改为latest
docker tag 82c262e65984 hyperledger/fabric-peer:latest
docker tag 4baf7789a8ec hyperledger/fabric-orderer:latest

区块链之fabric环境搭建(自动、测试)

  1. 启动fabric
    cd /examples/e2e_cli
    ./network_setup.sh up

区块链之fabric环境搭建(自动、测试)

10.关闭fabric
./network_setup.sh down

区块链之fabric环境搭建(自动、测试)

fabric-samples安装

  1. 下载fabric-samples源码
    cd /opt/gopath/src/github.com/hyperledger
    git clone https://github.com/hyperledger/fabric-samples.git
  2. 查看分支并切换到1.2
    cd fanric-samples
    git branch -a
    git checkout release-1.2
  3. 下载二进制执行文件
    wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.2.0/hyperledger-fabric-linux-amd64-1.2.0.tar.gz
  4. 解压文件
    tar -zxvf hyperledger-fabric-linux-amd64-1.1.0.tar.gz
    (解压后多了bin和config两个文件夹)
  5. 生成配置文件
    cd /first-network
    ./byfn.sh -m generate
  6. 启动项目
    ./byfn.sh -m up