ubuntu18.04搭建基于Raft共识的fabric1.4网络环境(first-network)

ubuntu18.04搭建基于Raft共识的fabric1.4网络环境

环境准备

安装golang

  • 下载最新包

wget https://studygolang.com/dl/golang/go1.13.4.linux-amd64.tar.gz
  • 解压安装

sudo tar -C /usr/local -zxf go1.13.4.linux-amd64.tar.gz
  • 配置环境变量

// 以下方式选择一种
// 系统环境变量
vim ~/.bashrc
// 用户环境变量
vim /etc/profile

追加以下代码

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

生效配置

source ~/.bashrc
source /etc/profile

查看是否安装成功

go version

安装Docker && Docker Compose

  • 通过版本库安装 docker ce

    // 添加HTTPS协议,允许apt从HTTPS安装软件包
    sudo apt-get install  apt-transport-https  ca-certificates curl  software-properties-common
    // 添加Docker 公共密钥
    curl -fsSL  https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
    // 设置版本库类型(Ubuntu18.04对应版本“bionic“”),软件版本包括三种:** stable、edge、test**
    sudo add-apt-repository "deb [arch=amd64]  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 
    // 更新系统包索引
    sudo apt-get update
    // 安装最新版Docker CE
    sudo apt-get install docker-ce
    
  • 安装docker-compose

    • 进入https://github.com/docker/compose/releases 查看最新版本,当前版本为1.24.1
    sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    
    • 设置权限
    sudo chmod +x /usr/local/bin/docker-compose
    
    • 查看是否安装成功
    docker-compose --version
    
  • 配置Docker镜像加速器

    sudo vim /etc/docker/daemon.json
    

    添加官方加速地址https://registry.docker-cn.com

    {
      "registry-mirrors": ["https://registry.docker-cn.com"]
    }
    

    重启

    sudo systemctl daemon-reload
    
    sudo systemctl restart docker
    

安装node.js

搭建网络

fabric源码下载

  • 直接使用go get命令获取github源码

    go get github.com/hyperledger/fabric

  • 执行引导脚本,自动下载fabric-samples和fabric镜像 (非必须)

    cd $GOPATH/src/github.com/hyperledger/fabric
    ./scripts/bootstrap.sh
    

运行fabric-samples

  • 编译fabric工具

    cd $GOPATH/src/github.com/hyperledger/fabric
    // 编译 cryptogen
    make cryptogen
    // 编译 configtxgen
    make coinfigtxgen
    

    编译后会在build/bin目录下生成cryptogencoinfigtxgen,将其复制到$GOPATH/bin下

    cp build/bin/cryptogen $GOPATH/bin
    cp build/bin/coinfigtxgen $GOPATH/bin
    
  • 执行byfn.sh脚本,初始化网络

    cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network/
    ./byfn.sh generate
    

    启动网络,此时会自动拉取fabric镜像

    ./byfn.sh up
    

    关闭网络,同时会删除docker fabric容器

    ./byfn.sh down
    

修改共识 solo -> etcdraft

  • 修改脚本byfn.sh

    CONSENSUS_TYPE="solo"修改为CONSENSUS_TYPE="etcdraft"

疑难杂症

你可能感兴趣的:(ubuntu18.04搭建基于Raft共识的fabric1.4网络环境(first-network))