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.****.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
- 进入目录
cd /home/go/src/github.com/hyperledger/fabric/common/configtx/tool/configtxgen
- 编译工具
go install --tags=nopkcsll
- 进入目录
cd /home/go/src/github.com/hyperledger/fabric/common/tools/cryptogen
7.编译工具go install --tags=nopkcsll
- 然后我们可以在 /home/go/bin/ 目录下看到两个工具configtxgen和cryptogen
四、运行第一个程序
- 进入
cd /home/go/src/
- 下载fabric-samples
git clone https://github.com/hyperledger/fabric-samples.git
- 进入
cd /home/go/src/fabric-samples
上面的步骤太烦了,我们还是偷懒下使用:
go get github.com/hyperledger/fabric-samples
3.然后执行版本切换git checkout release-1.0
- 输入
ll
查看文件结构
-
.env:存储一些环境变量
-
base:存储docker-compose的一些公共服务
-
byfn.sh:执行脚本
-
configtx.yaml和crypto-config.yaml:根据之前生成的2个工具,生成相应的配置文件,用来启动网络,放到当前目录的channel-artifacts和crypto-config里面
-
dockper-compose:用于启动网络
-
scripts:存放测试脚本,做的事:创建通道、加入通道,安装链码,实例化链码,链码交互
- 生成配置
进入文件first-network
目录cd /home/go/src/fabric-samples/first-network
./byfn.sh -m generate -i 1.0.0
- 启动网络
./byfn.sh -m up -i 1.0.0
- 关闭网络
./byfn.sh -m down -i 1.0.0
由于我下载的fabric-sample为最新版本,运行命令会出现如下错误,所以将fabric-sample切换成1.0版本。