Hyperledger fabric 环境搭建


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

一、需要的环境

注意:本文是在CentOS下演示

1.安装golang

(1).下载源码包:go1.11.linux-amd64.tar.gz。
https://studygolang.com/dl/golang/go1.11.linux-amd64.tar.gz
(2).将下载的源码包解压至 /usr/local目录。
tar -C /usr/local -xzf go1.11.linux-amd64.tar.gz
(3).配置环境变量

  • 修改 .bashrc
  • cd ~
    vi .bashrc
  • 添加如下语句
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

-最后执行 source .bashrc

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文件
    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组件的docker镜像

  • Docker store : https://store.dokcer.com/profiles/hyperledger

  • 下载fabric组件
    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
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

三、下载fabric源码

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

1.获取Fabric源码:
git clone https://github.com/hyperledger/fabric.git
2.下载完毕后 拷贝到 /home/go/src/github.com/hyperledger 里面
3. 拷贝完好后进入 cd /home/go/src/github.com/hyperledger/fabric

上面的步骤太烦了,我们还是偷懒下使用:go get github.com/hyperledger/fabric
4.然后执行版本切换 git checkout release-1.0

  1. 进入目录 cd /home/go/src/github.com/hyperledger/fabric/common/configtx/tool/configtxgen
  2. 编译工具 go install --tags=nopkcsll
  3. 进入目录cd /home/go/src/github.com/hyperledger/fabric/common/tools/cryptogen
    7.编译工具 go install --tags=nopkcsll
  4. 然后我们可以在 /home/go/bin/ 目录下看到两个工具configtxgen和cryptogen

四、运行第一个程序

  1. 进入 cd /home/go/src/
  2. 下载fabric-samples
    git clone https://github.com/hyperledger/fabric-samples.git
  3. 进入 cd /home/go/src/fabric-samples

上面的步骤太烦了,我们还是偷懒下使用:go get github.com/hyperledger/fabric-samples
3.然后执行版本切换 git checkout release-1.0

  1. 输入ll 查看文件结构
    Hyperledger fabric 环境搭建
  • .env:存储一些环境变量

  • base:存储docker-compose的一些公共服务

  • byfn.sh:执行脚本

  • configtx.yaml和crypto-config.yaml:根据之前生成的2个工具,生成相应的配置文件,用来启动网络,放到当前目录的channel-artifacts和crypto-config里面

  • dockper-compose:用于启动网络

  • scripts:存放测试脚本,做的事:创建通道、加入通道,安装链码,实例化链码,链码交互

  1. 生成配置
    进入文件 first-network目录
    cd /home/go/src/fabric-samples/first-network
    ./byfn.sh -m generate -i 1.0.0
  2. 启动网络
    ./byfn.sh -m up -i 1.0.0
  3. 关闭网络
    ./byfn.sh -m down -i 1.0.0

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