Skip to content

Latest commit

 

History

History
284 lines (203 loc) · 7.17 KB

Fabric1.4.2的搭建文档.md

File metadata and controls

284 lines (203 loc) · 7.17 KB

基于CentOS 7 搭建 Fabric1.4.2 区块链环境

1. 下载CentOS 7 镜像

2. VMware 15 安装 CentOS Minimal

  • 安装完成之后如果ifconfig命令无法使用,使用命令yum -y install net-tools 安装即可

CentOS 换 yum 源

  • 首先进入/etc/yum.repos.d/目录下,新建一个repo_bak目录,用于保存系统中原来的repo文件

    cd /etc/yum.repos.d/
    mkdir repo_bak
    mv *.repo repo_bak/
    • 在CentOS中配置使用网易和阿里的开源镜像

      curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    • 清除系统yum缓存并生成新的yum缓存

       yum clean all     # 清除系统所有的yum缓存
       yum makecache     # 生成yum缓存
    • 安装gitpipvimwget

      yum install git
      yum install vim
      yum install wget
      yum -y install epel-release
      yum install python-pip
      pip install --upgrade pip

3. 安装Go语言环境

  • 下载最新的GO安装包,具体的最新版本号可以从Golang官网上查看,如果被墙,可以去Go语言中文网下载

    cd ~
    wget https://studygolang.com/dl/golang/go1.11.5.linux-amd64.tar.gz
    tar -C /usr/local -xzf go1.11.5.linux-amd64.tar.gz #解压安装包到/usr/local目录下
  • 打开/etc/profile文件

    vim /etc/profile
  • 在最后添加如下四个环境变量

    export  PATH=$PATH:/usr/local/go/bin
    export  GOROOT=/usr/local/go
    export  GOPATH=/opt/gopath
    export  PATH=$PATH:/opt/gopath/bin
  • source /etc/profile 使环境变量生效, 用go version验证一下Go是否安装成功

  • 创建Go工作目录

    cd ~
    mkdir -p /opt/gopath/src/github.com/hyperledger/fabric

4. Docker 安装(*号步骤可以不用操作)

  • 卸载旧版本Docker

    sudo yum remove docker \
                    docker-client \
                    docker-client-latest \
                    docker-common \
                    docker-latest \
                    docker-latest-logrotate \
                    docker-logrotate \
                    docker-engine
  • 安装Docker CE

    • 安装所需的包。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-datalvm2由需要devicemapper存储驱动程序

      sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    • 使用以下命令设置稳定存储库

       sudo yum-config-manager \
          --add-repo \
          https://download.docker.com/linux/centos/docker-ce.repo
    • 安装最新版本的Docker CE和containerd

      sudo yum install docker-ce docker-ce-cli containerd.io
    • 启动Docker

      sudo systemctl start docker
    • (*)通过运行hello-world 映像验证是否正确安装了Docker CE

      docker run hello-world
    • 或者运行以下命令查看Docker版本信息

      docker version
    • 添加阿里云的Docker Hub镜像

      sudo mkdir -p /etc/docker
      sudo tee /etc/docker/daemon.json <<-'EOF'
      {
          "registry-mirrors": ["https://6e0d9uoa.mirror.aliyuncs.com"]
      }
      EOF
      sudo systemctl daemon-reload
      sudo systemctl restart docker
  • 安装Docker-Compose

    • 安装python-pip

      sudo yum install python-pip -y
    • 安装Docker-Compose

      pip install docker-compose
    • 如果安装出现如下错误

      ImportError: 'module' object has no attribute 'check_specifier'
          ----------------------------------------
      ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output

      使用如下命令升级setuptools,然后在执行安装

      # 升级 setuptools
      pip install --upgrade setuptools
      # 再次执行安装
      pip install docker-compose
    • 查看是否安装成功

      docker-compose version

5. 安装Node.js 环境

  • 安装nvm

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
  • 添加环境变量

    vim ~/.profile
    #下面内容添加到文件中
    export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
  • 安装 node V8

    nvm install v8.15.1
  • 查看安装是否成功

    node -v
    npm -v
  • npm 设置淘宝源

    npm config set registry https://registry.npm.taobao.org --global
    npm config set disturl https://npm.taobao.org/dist --global

6. 下载Fabric源码,安装镜像

  • 克隆源码

    cd /opt/gopath/src/github.com/hyperledger
    git clone https://github.com/hyperledger/fabric.git
    git checkout v1.4.2 #将版本切换到1.4.2
  • 完成后进入 fabric/scripts 文件夹,执行 bootstrap.sh 脚本,自动进行克隆fabric-samples并检出适当的版本安装二进制可执行文件和配置文件下载fabric相关镜像的操作

    cd fabric/scripts
    ./bootstrap.sh
  • 如果下载二进制文件非常慢,可以下载到本地,然后解压拷贝到/opt/gopath/bin目录下面或者是/usr/local/bin目录下面,下面是下载地址

    • hyperledger-fabric-linux-amd64-1.4.2.tar.gz

    • hyperledger-fabric-ca-linux-amd64-1.4.2.tar.gz

    • 检查/opt/gopath/bin目录下面(或者/usr/local/bin)之前拷贝过来的文件权限,如果没有可执行权限,按照下面模式,更改bin目录下面所有拷贝过来的二进制文件权限

      chmod 775 configtxgen #提升权限
    • :这样需要编辑bootstrap.sh注释掉最后调用的binariesInstall方法

      #........
      #...........
      if [ "$BINARIES" == "true" ]; then
        echo
        echo "Installing Hyperledger Fabric binaries"
        echo
        # binariesInstall #---注释掉这里
      fi
      #...........
      #........
    • 再次执行bootstrap.sh文件下载docker镜像

      ./bootstrap.sh

7. 运行 first-network 的例子

  • 启动和关闭网络

    cd fabric/scripts/fabric-samples/first-network
    ./byfn.sh up # 启动网络
    ./byfn.sh down #关闭网络

    注:如果是在阿里云的服务器上部署网络,需要在base/peer-base.yaml里的peer-base服务和orderer-base服务都添加一项环境变量- GODEBUG=netdns=go,另外在dockcer-compose-cli.yaml里的cli服务里也添加该变量