前言
区块链这段时间大火,国家大力倡导发展区块链技术,作为IT从业者也需要紧跟潮流技术,了解这区块链背后的技术,以及怎么在区块链上面去开发。本文先介绍怎么去搭建一个Fabric环境。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
以上是区块链的官方定义,简单地说,区块链就是一种去中心化的分布式账本数据库。
区块链目前大致分为三种类型:公有链,私有链,联盟链。
就应用场景而言,联盟链算是应用场景比较多的一种区块链,联盟链中的佼佼者当属于 HyperLedger Fabric(超级账本)框架。下面就开始介绍下怎么去搭建一个Fabric环境。
本文的环境搭建是基于内网 CentOS Linux release 7.6.1810 (Core)
需要安装的软件:
- docker
- docker-compose
- go语言环境配置
目录
1. 安装软件
2. Fabric 环境部署
3. Fabric 启动
1. 软件安装
1. 1 dokcer 安装(version: 18.09.4, build d14af54266)
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
sudo yum makecache fast
安装 docker-ce:
sudo yum -y install docker-ce
启动 docker 后台服务
sudo systemctl start docker
开机自启动 docker 后台服务
sudo systemctl enable docker
测试 docker 是否安装成功
docker run hello-world
输出 Hello from Docker! 即安装成功
1. 2 docker-compose 安装
需要先安装 curl 工具
yum install curl
安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
添加 docker-compose 执行权限
sudo chmod +x /usr/local/bin/docker-compose
1. 3 go 安装
使用wget命令行下载安装包到linux
wget https://studygolang.com/dl/golang/go1.12.linux-amd64.tar.gz
解压到 /usr/local
tar -C /usr/local -xzf go1.12.linux-amd64.tar.gz
配置 go的环境变量
编辑 /etc/profile 文件
vim /etc/profile
在文件末尾添加
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath
我的Fabric源码打算放到/opt/gopath 目录下面,所以这么设置
最后输入:source /etc/profile
使配置环境变量生效
- 测试go环境是否配置成功
go version
至此需要安装的软件都安装完毕了
2. Fabric 环境部署
2.1 下载Fabric源码
我选择下载最新的Fabric源码,使用master分支
https://github.com/hyperledger/fabric/archive/master.zip
解压到 /opt/gopath/src/github.com/hyperledger/fabric 目录下面
2.2 下载 Fabric 依赖的 docker镜像
切换到 /opt/gopath/src/github.com/hyperledger/fabric 目录下面
cd /opt/gopath/src/github.com/hyperledger/fabric
执行下载命令
curl -sSL https://bit.ly/2ysbOFE | bash -s
大概两个小时就可以下载完成
3. Fabric 启动
切换到 fabric-samples/first-network 目录,执行
./byfn.sh up
启动完成界面如下:
查看下docker 容器
docker ps -a
进入 Peer节点查看下
docker exec -it cli bash'
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
到此为止,Fabric环境搭建完成并且启动成功了