Hyperledger fabric 环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yang731227/article/details/83868333

title: Hyperledger fabric环境搭建
tags: Hyperledger, fabric ,区块链


一、需要的环境

注意:本文是在CentOS下演示

1.安装golang

  • 下载golang
    git clone https://studygolang.com/dl/golang/go1.11.linux-amd64.tar.gz

  • 解压文件至 /usr/local目录。
    tar -C /usr/local -xzf go1.11.linux-amd64.tar.gz

  • 配置环境变量
    打开 vim /etc/profile 添加下面的内容

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

执行 source /etc/profile 使配置重启

2.安装git

  • 安装git
    yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel
    yum -y install git-core
  • 检查安装
    git --version

3.安装Docker 、Docker compose

  • 安装Docker
    可以看我之前的文章 :https://blog.csdn.net/yang731227/article/details/83626090

  • 安装docker-compose

    • 下载最新版的docker-compose文件
      sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    • 添加可执行权限
      sudo chmod +x /usr/local/bin/docker-compose
    • 测试安装结果
      docker-compose --version

4.安装nodejs

  • 下载源码
    cd /usr/local/src/
    wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz

  • 解压源码
    tar zxvf node-v0.10.24.tar.gz

  • 编译安装
    cd node-v0.10.24./configure --prefix=/usr/local/node/0.10.24 make make install

  • 检查安装
    通过node -v 检查是否 成功安装

二、下载fabric源码

注意:一定要先设置好 $GOPATH 环境变量

1.获取Fabric源码

使用 git clone下载源码
git clone https://github.com/hyperledger/fabric.git
下载完毕后 拷贝到 /home/go/src/github.com/hyperledger 里面

如果嫌下面的步骤太烦了,并且你已经安装Golang和Git可以直接使用:go get -u github.com/hyperledger/fabric

2.进行版本切换

拷贝完好后进入 cd $GOPATH/src/github.com/hyperledger/fabric
执行命令 git checkout release-1.0 切换源码为1.0 版本

3.编译工具configtxgencryptogen

进入目录 cd $GOPATH/src/github.com/hyperledger/fabric/common/configtx/tool/configtxgen
然后使用命令编译工具 go install --tags=nopkcsll
进入目录cd /home/go/src/github.com/hyperledger/fabric/common/tools/cryptogen
然后使用命令编译工具编译工具 go install --tags=nopkcsll

好吧我知道上面的步骤也很繁琐,所以我给你提供简单:
进入目录 cd $GOPATH/src/github.com/hyperledger/fabric
分别执行make configtxgenmake cryptogen

然后我们可以在 $GOPATH/bin/ 目录下看到两个工具configtxgencryptogen

三、下载fabric组件的docker镜像

1.手动下载(不建议)

docker pull hyperledger/fabric-baseos:x86_64-0.3.0
docker pull hyperledger/fabric-ca:x86_64-1.0.0
docker pull hyperledger/fabric-peer:x86_64-1.0.0
docker pull hyperledger/fabric-ccenv:x86_64-1.0.0
docker pull hyperledger/fabric-orderer:x86_64-1.0.0
docker pull hyperledger/fabric-tools:x86_64-1.0.0

因为fabric版本变动较大,所以我们除了baseos使用0.3.0 其他都使用1.0.0

  • 设置tag 为latest

    tag必须要设置,不然Docker 可能识别不了

docker tag hyperledger/fabric-tools:x86_64-1.0.0 hyperledger/fabric-tools:latest
docker tag hyperledger/fabric-orderer:x86_64-1.0.0 hyperledger/fabric-orderer:latest
docker tag hyperledger/fabric-peer:x86_64-1.0.0  hyperledger/fabric-peer:latest
docker tag hyperledger/fabric-ccenv:x86_64-1.0.0 hyperledger/fabric-ccenv:latest
docker tag hyperledger/fabric-ca:x86_64-1.0.0  hyperledger/fabric-baseos:latest
docker tag hyperledger/fabric-baseos:x86_64-0.3.1 hyperledger/fabric-baseos:latest

2.自动下载(建议)

Fabric为我们提供了一个自动化的脚本download-dockerimages.sh ,它放在了e22_cli目录,这个脚本安装的镜像比我们上面手动的镜像更丰富。

  • 进入fabric/examples/e2e_cli 目录
    cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli
  • 获取权限
    chmod +x download-dockerimages.sh
  • 执行脚本
    ./download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

注意:上面的命令我添加了 -c -f 参数 指定了版本, 如果不指定默认安装最新。

  • 查看镜像
    我们使用docker images 来查看下脚本自动下载的镜像有什么。

四、fabric-samples

1.下载源码

假设你已经配置好我前面的环境
我们直接使用 go get -u github.com/hyperledger/fabric-samples

2.切换版本

依然要进入cd $GOPATH/src/github.com/hyperledger/fabric-samples
然后执行版本切换 git checkout release-1.0

3.输入ll 查看文件结构

我们了解下这些文件:

  • .env:存储一些环境变量
  • base:存储docker-compose的一些公共服务
  • byfn.sh:执行脚本,可以自动生成网络配置、启动网络、关闭网络
  • configtx.yaml和crypto-config.yaml:根据之前生成的2个工具,生成相应的配置文件,用来启动网络,放到当前目录的channel-artifacts和crypto-config里面
  • dockper-compose:用于启动网络
  • scripts:存放测试脚本,做的事:创建通道、加入通道,安装链码,实例化链码,链码交互

下面4-6的过程都需要执行byfn.sh脚本,所以需要进 first-network目录,
cd $GOPATH/src/fabric-samples/first-network

4.生成配置
执行byfn.sh脚本生成配置
./byfn.sh -m generate -i 1.0.0

6.启动网络
./byfn.sh -m up -i 1.0.0

7.关闭网络
./byfn.sh -m down -i 1.0.0

由于我下载的fabric-sample为最新版本,运行命令会出现如下错误,所以将fabric-sample切换成1.0版本。

猜你喜欢

转载自blog.csdn.net/yang731227/article/details/83868333