从头开始在Ubuntu上部署Hyperledger Fabric环境

3,384 阅读1分钟

Fabric 介绍

Hyperledger Fabric是一个提供分布式账本解决方案的平台。Hyperledger Fabric由模块化架构支撑,并具备极佳的保密性、可伸缩性、灵活性和可扩展性。Hyperledger Fabric被设计成支持不同的模块组件直接拔插启用,并能适应在经济生态系统中错综复杂的各种场景。

Hyperledger Fabric提供了一个独特的可伸缩、可扩展的架构,这也是Hyperledger Fabric与其他区块链解决方案的显著区别。假如你正在计划部署具备完整审查机制以及开源架构的企业级区块链,Hyperledger Fabric是你的一个不错的起点。

引用自:hyperledgercn.github.io/hyperledger…

安装步骤

注:本篇文章安装方式均优先采用国内通道方式加速下载 文章中出现的截图来自Mac OS平台,与Ubuntu一致,此篇教程部分适用于Mac OS

1. Golang 安装配置

下载安装包(也可以自行到 studygolang.com/dl 上下载安装包)

mkdir ~/download
cd ~/download
wget https://studygolang.com/dl/golang/go1.14.linux-amd64.tar.gz

解压

sudo tar -C /usr/local -xzf go1.14.linux-amd64.tar.gz

配置

#创建go目录
mkdir $HOME/go
#用vi打开~./bashrc,配置环境变量
vi ~/.bashrc
# 在最下方插入
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#使配置的环境变量生效
source ~/.bashrc
#检查是否配置正确
go version

# 推荐启用 Go Modules 功能
go env -w GO111MODULE=on
# 配置 GOPROXY 环境变量加速国内下载
# 1. 官方
go env -w  GOPROXY=https://goproxy.io
# 2. 七牛 CDN(推荐)
go env -w  GOPROXY=https://goproxy.cn
# 3. 阿里云
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
# 查看GOPROXY配置
go env | grep GOPROXY
2. 安装curl(已安装可忽略)
sudo apt install curl
3. 安装git(已安装可忽略)
sudo apt install git
4. 安装Docker CE(即 Docker 社区版)

可自行到 get.daocloud.io/ 下载Docker和Docker Compose

使用curl下载并安装脚本

curl -sSL https://get.daocloud.io/docker | sh

设置成非root用户也能执行docker,需要将用户加入docker组(例如username用户),此步骤可能需要重启才能生效

sudo usermod -aG docker username

Docker更换阿里镜像源

进入 cr.console.aliyun.com/cn-hangzhou… 申请专属镜像加速器

使用 /etc/docker/daemon.json来配置 Daemon 没有该文件的话,先建一个:

cd  /etc/docker
sudo vi daemon.json

在该配置文件中加入

{
  "registry-mirrors": ["加速器地址"]
}

重启docker

sudo service docker restart

查看docker信息

docker info

测试docker

docker run hello-world

5. 安装Docker Compose

下载Docker Compose

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

配置执行权限

sudo chmod +x /usr/local/bin/docker-compose

检查是否安装成功

docker-compose -v
6. 下载fabric和fabric-ca

官方:
fabric:github.com/hyperledger…
fabric-ca:github.com/hyperledger…
附件:
hyperledger-fabric-linux-amd64-1.4.7.tar.gz
hyperledger-fabric-ca-linux-amd64-1.4.7.tar.gz
Mac_v1.4.7.zip (macOS平台)

获取fabric-sample源码

mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
# 获取fabric-samples源码
git clone https://github.com/hyperledger/fabric-samples.git
# 进入目录,切换分支
cd fabric-samples
# 可自行选择版本
git checkout v1.4.7
#查看版本
git branch

附件: fabric-samples_v1.4.7.zip

将fabric和fabric-ca解压(解压出来的bin需要合并在一起)得到bin和config文件夹,放置到fabric-sample目录下

用vi打开~./bashrc

vi ~/.bashrc

增加下面的环境变量,保存退出

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

使环境变量立即生效

source ~/.bashrc

检验环境变量是否成功

fabric-ca-client version

7. 运行测试

找到first-network示例

cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network
#启动
sudo ./byfn.sh up
#如果启动失败可能需要先执行停止命令
#停止
sudo ./byfn.sh down
#启动后查看docker容器
docker ps -a

启动first-network

启动成功后查看docker容器列表

关闭first-network

至此Hyperledger Fabric环境已安装完成。

推荐阅读

官方文档:hyperledger-fabric.readthedocs.io/en/release-…

我的开源项目

github.com/togettoyou/…