centos7搭建部署fabric环境

前言

该文章基于centos7搭建fabric环境,目的是让大家少踩坑。
该文章充分借鉴多篇博客,并将其他博客中处理安装时遇到的问题的解决方案集中一起,方便初学者搭建环境。

安装包

在搭建环境时,涉及离线安装的压缩包汇总
网盘地址:https://pan.baidu.com/s/1EHD399TPiDReoYV3MfIS_A
提取码:ugjg

环境搭建

yum源设置

  1. 备份本地yum源

    sudo cp /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak 
  2. 设置aliyun源

    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  3. 清理缓存

    sudo yum clean all 
  4. 更新yum源

    sudo yum update 

git安装

yum install git -y

curl安装

yum install curl -y

docker安装

  1. 卸载旧版本

    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
  2. 安装软件包

    yum install -y yum-utils device-mapper-persistent-data lvm2
  3. 添加docker yum源

    yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  4. 安装docker

    yum install docker-ce
  5. 启动docker

    systemctl start docker
  6. 查看docker运行状态

    systemctl status docker

安装docker-compose

  1. 在线安装(不建议,常因网络原因导致安装失败)

    sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  2. 离线安装(建议)

    1. 从官网下载:https://download.docker.com/linux/static/stable/x86_64/

    2. 解压到 /usr/local/bin 下

      tar -zxvf xxx.tar.gz -C /usr/local/bin
    3. 修改名字为 docker-compose

      mv docker-composexxx docker-compose
    4. 修改权限

      chmod +x /usr/local/bin/docker-compose
    5. 查看是否安装成功

      docker-compose -v
      

Go语言安装

  1. 下载Go安装包:https://golang.org/dl/

  2. 解压(目录可以自己选择,本人已 /opt/moudle/ 为例)

    tar -zxvf goxxxx.tar.gz -C /opt/moudle/
  3. 配置Go的环境变量

    vim /etc/profile
    export GOPATH=/opt/moudle/go
    export PATH=$PATH:$GOPATH/bin
  4. 刷新配置文件

    source /etc/profile
  5. 查看是否安装成功

    go version

部署fabric

  1. 进入go目录下

    cd /opt/moudle/go
  2. 通过git拉取fabric源码

    git clone https://github.com/hyperledger/fabric.git 
    
  3. 进入fabric文件

    cd fabric
  4. 查看分支

    git branch -a
  5. 切换分支(本次演示使用 v1.4.4)

    git checkout -b v1.4.4
  6. 拉取fabric-samples

    1. 进入script目录下

      cd scripts
    2. 直接运行 bootstrap.sh (不建议,会由于网络原因失败)

      ./bootstrap.sh
    3. 手动下载(建议)

      1. 下载解压:https://github.com/hyperledger/fabric-samples/releases 下载相应版本v1.4.4

      2. 还需要下载两个安装包:

        hyperledger-fabric-ca-linux-amd64-1.4.4.tar
        hyperledger-fabric-linux-amd64-1.4.4.tar
      3. 解压这两个安装包

        • 将两个压缩包中的bin目录合并,放在fabric-samples目录下
        • 将两个压缩包中的config目录(只有一个压缩包中有config)放到fabric-samples目录下
    4. 编辑 bootstrap.sh脚本,注释 Samplesinstall和binariesinstall步骤

      vim bootstrap.sh
      ============================================================
      if [ "$SAMPLES" == "true" ]; then
        echo
        echo "Installing hyperledger/fabric-samples repo"
        echo
      #  samplesInstall  找到注释
      fi
      if [ "$BINARIES" == "true" ]; then
        echo
        echo "Installing Hyperledger Fabric binaries"
        echo
      #  binariesInstall 找到注释
      fi
      if [ "$DOCKER" == "true" ]; then
        echo
        echo "Installing Hyperledger Fabric docker images"
        echo
        dockerInstall
      fi
      
    5. 执行bootstrap.sh脚本

      ./bootstrap.sh
      
    6. 构建网络(一定要保证能够访问外网)

      1. 进入 fabric-samples/first-network/ 目录下

        cd fabric-samples/first-network/
      2. 执行 byfn.sh -m generate -c MyChannel

        sh byfn.sh -m generate -c MyChannel
      3. 启动网络

        sh byfn.sh -m up -c MyChannel
      4. 关闭网络

        sh byfn.sh -m down

    参考博客

    1. https://blog.csdn.net/qq_34680444/article/details/87257141?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
    2. https://blog.csdn.net/qq_34420351/article/details/102744217?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
    3. https://blog.csdn.net/Aaron_Kings/article/details/88319633
上一篇:Fabric-sdk-go操作Chaincode


下一篇:Hyperledger Fabric从源码分析账本