• Ubuntu系统下配置安装区块链Hyperledger Fabric(新手小白篇)


    有些安装过程比较简单的,不会详细赘述。主要还是集中在Hyperledger Fabric的配置上。

    本篇主要介绍在Ubuntu系统上安装Hyperledger Fabric的过程。这里使用的Ubuntu:16.04 LTS。

    1. Git安装

    Git工具安装命令如下:

    sudo apt update
    sudo apt install git
    
    • 1
    • 2

    可以使用如下命令检测是否安装成功。如果能返回git版本信息,则说明正确安装。

    git version
    
    • 1

    2. 安装Docker和docker-compose

    2.1 Docker安装

    Docker工具安装命令如下:

    sudo apt update
    sudo apt install docker.io
    
    • 1
    • 2

    同样可以使用如下命令验证是否正确安装,若能返回docker的版本信息,则说明正确安装。

    docker --version
    
    • 1

    安装完成之后需要给当前用户赋docker权限。代码如下:

    sudo groupadd docker #创建docker组
    sudo gpasswd -a XXX docker #将目标用户XXX添加到docker组
    sudo service docker restart #如有必要,重启docker服务
    
    • 1
    • 2
    • 3
    2.2 docker-compose安装

    docker-compose的V1和V2版本的安装的方法不同,如果在后续Fabric执行sudo ./network up时遇到如下问题时则需要提升docker-compose的版本。
    在这里插入图片描述
    docker-compose V1版本安装
    可以使用如下命令安装docker-compose V1版本, 具体如下:

    sudo apt update
    sudo apt install docker-compose
    docker-compose --version
    
    • 1
    • 2
    • 3

    docker-compose V2版本安装

    可以到docker-compose的github官网(https://github.com/docker/compose)下载需要的版本相应的资源:
    在这里插入图片描述
    然后执行如下命令:

    //将该文件改名为docker-compose
    mv docker-compose-linux-x86_64 docker-compose 
    //添加执行权限
    chmod +x docker-compose 
    //移动到相应文件夹下
    mv docker-compose /usr/bin/
    //验证是否成功案安装
    docker-compose version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.安装Go语言环境

    3.1 下载安装

    Go语言的安装很简单,把安装包下载之后解压之后就可以了。为了下载方便,可以找一个国内的镜像(但是国内的镜像可以没有最新版的go语言版本)。
    Go官方地址:https://golang.google.cn/dl/

    3.2 环境变量配置

    下载解压完成之后,还需要完成环境变量的配置。Ubuntu系统上环境变量需要在/etc/profile文件设置。具体如下:
    第1步:打开文件

    sudo vim /etc/profile #打开文件
    
    • 1

    第2步:在文件末尾添加如下变量

    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOROOT/bin
    
    • 1
    • 2
    • 3

    第3步:执行文件

    source /etc/profile
    
    • 1

    执行完成后,可以检验设置的环境变量是否生效了。可以使用echo命令输出变量,若能正常输出,则说明已经生效。

    echo $GOPATH
    
    • 1

    若没有生效,则需要检查文件/etc/profile是否具有执行权限(x)。

    ll /etc/profile
    
    • 1

    若没有x权限,则修改文件权限,然后再重新执行一遍文件。

    sudo chmod -R 777 /etc/profile
    
    • 1
    3.3 其他配置

    为了方便后续Fabric网络的搭建,还有几个配置需要设置。具体如下:

    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn
    sudo chmod -R 777 $GOPATH
    
    • 1
    • 2
    • 3

    4 Hyperledger Fabric配置

    现在正式进入Hyperledger Fabric环境的配置。

    4.1 安装

    下载Fabric源码

    sudo mkdir $GOPATH/src/github.com/hyperledger/fabric
    cd $GOPATH/src/github.com/hyperledger/fabric
    //下载Fabric源码
    git clone https://github.com/hyperledger/fabric.git
    
    • 1
    • 2
    • 3
    • 4

    这里要说明一点,从github下载的Fabric包含所有版本。可以使用git checkout命令切换到需要的版本(不确定这一步是否需要):

    //假如需要切换到Fabric 1.2
    git checkout -b v1.2.0
    
    • 1
    • 2

    修改配置文件
    修改fabric/scripts文件夹下的bootstrap.sh文件,将BINARIES从true变为false。
    在这里插入图片描述
    然后执行配置文件。

    cd fabric/scripts
    sudo ./bootstrap.sh
    
    • 1
    • 2

    下载fabric-samples、fabric-ca文件
    以前的Fabric版本在运行上述bootstrap.sh文件的时候就会自动完成fabric-samples文件的下载,但Fabric2.5版本却不行,所有需要单独下载这两个文件。

    git clone https://github.com/hyperledger/fabric-samples.git
    
    • 1

    然后将fabric-samples文件放到/fabric/scripts下。
    下载二进制文件
    指定版本的Hyperledger Fabric特定于平台的二进制文件和配置文件安装到fabric-samples的bin和config目录中。具体步骤如下:

    • 首先从bootstrap.sh文件中找到所需下载的二进制文件的版本。
      在这里插入图片描述
      关于这两个文件网上很多资料给出的下载地址都已失效。需要在github.com里自己寻找。
      如果不想使用Fabric的最新版本,上述文件中的VERSION部分需要修改成对应版本号,否则无法下载相关镜像。
      接着去对应版本下找以下两个文件。
    • 第一个文件可以从https://github.com/hyperledger/fabric/release在对应版本的Assets中下载指定系统对应的文件。
      在这里插入图片描述
    • 第二个文件可以直接从https://github.com/hyperledger/fabric-ca/下载。
    • 将上述两个文件放到fabric-samples文件夹下并解压。
    tar -zxvf hyperledger-fabric-linux-amd64-2.5.4.tar.gz
    tar -zxvf hyperledger-fabric-ca-linux-amd64-1.5.7.tar.gz
    
    • 1
    • 2

    修改环境变量
    打开文件/etc/profile并修改环境变量。

    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:$GOPATH/src/github.com/hyperledger/fabric/scripts/fabric-samples/bin
    
    • 1

    并执行上述文件。

    参考资料

    1. https://blog.csdn.net/weixin_42221109/article/details/121831442
    2. https://blog.csdn.net/qq_35995514/article/details/125468792
  • 相关阅读:
    工业物联网案例:智能工厂设备无人值守系统方案
    【linux命令讲解大全】013.Git:分布式版本控制系统的先驱和常用命令清单(二)
    vue @cliick.stop @click.prevent @click.self
    OJ第四篇
    Android学习笔记 39. 网络加载框架Retrofit中的转换器和适配器
    八股文死记硬背打脸记
    【BOOST C++容器专题03】【06】Boost.Heap
    在 SPRING Boot JPA 中调用带有本机查询中的参数的存储过程
    m短波宽带通信系统的信道建模matlab仿真
    新手如何找到Docker容器(redis)中的持久化文件?
  • 原文地址:https://blog.csdn.net/yeshang_lady/article/details/133791867