BlockChain联盟链中的Hyperledger项目中的Fabrica项目是商业联盟应用区块链的基石之作,现在来搭建一个运行环境,进行技术验证。
安装组件如下:
1.Docker-compose:Docker 容器管理;
2.Go lang SDK:Go 语言开发、编译环境;
3.Git:git 镜像克隆与提交;
4.Rest Client: rest API 测试;
容器主要运行有:MemberSrv 和Peer;
一、HyperLedger Fabric环境资源准备
1、docker的安装
a)检查版本
$ uname –r
3.10.0-229.el7.x86_64
b)更新Centos
$ sudo yum update
c)安装需要软件
yum install –y docker git
d)把服务设备成开机启动并启动服务
systemctl enable docker.service
systemctl start docker
e)验证 docker
正确安装(通过运行一个测试镜像,当容器运行时,它打印一个信息性消息并退出。)
docker run hello-world
2、Docker Compose安装
Compose 定位是 “定义和运行多个 Docker 容器的应用”,可以很方便的从官方拉下来一些镜像,在此基础上再进行改造。它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project),即:你可以通过docker-compose.yml 模板文件来定义你的多个容器之间的网络连接、端口,容器服务器名称、服务器中运行的镜像、服务器的环境配置、启动命令等,使用的镜像,可以手动拉取镜像,也可以自动以docker-compose.yml 构建环境后自动拉取。
a)docker-compose.yml文件说明:
------------------------------------------------------------------------------------------------------------------------------
version: '2' #使用yml文件版本2
membersrvc: #定义第一台虚拟机名称为membersrvc
image: hyperledger/fabric-membersrvc #指定镜像来源
ports: #暴露端口信息, 使用 宿主:容器 格式,
- "7054:7054"
command: membersrvc #覆盖容器启动后默认执行的命令
vp0: #定义第二台虚拟机名称为vp0
image: hyperledger/fabric-peer
ports:
- "7050:7050" #REST 服务端口
- "7051:7051" #peer gRPC 服务监听端口
- "7053:7053" #:peer 事件服务端口
environment: #设置环境变量
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_VM_ENDPOINT=unix:///var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=vp0
- CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
- CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=noops # 定义了一致性机制使用noops
- CORE_SECURITY_ENABLED=true #启用安全模式
- CORE_SECURITY_ENROLLID=test_vp0
- CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
volumes: #数据卷所挂载路径设置。可以设置宿主机路径( HOST:CONTAINER ),该指令中路径支持相对路径
- /var/run/:/var/run/
links: #链接到其它服务中的容器
- membersrvc
command: #覆盖容器启动后默认执行的命令
sh -c "sleep 5; peer node start --peer-chaincodedev"
------------------------------------------------------------------------------------------------------------------------------
b).安装容器Compose(使用官方提供的方法,安装1.10.1版本):
curl -L https://github.com/docker/compose/releases/download/1.10.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
二、部署fabric noops模式单结点开发环境
1、手动部署
mkdir /opt/fabric
cd /opt/fabric/
docker pull yeasy/hyperledger-fabric:0.6-dp #拉取镜像
docker tag yeasy/hyperledger-fabric:0.6-dp hyperledger/fabric-peer:latest #给镜像加标记
docker tag yeasy/hyperledger-fabric:0.6-dp hyperledger/fabric-baseimage:latest
docker tag yeasy/hyperledger-fabric:0.6-dp hyperledger/fabric-membersrvc:latest
docker run --name=vp0 \
--restart=unless-stopped \
-it \
-p 7050:7050 \
-p 7051:7051 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e CORE_PEER_ID=vp0 \
-e CORE_PEER_ADDRESSAUTODETECT=true \
-e CORE_NOOPS_BLOCK_WAIT=10 \
hyperledger/fabric-peer:latest peer node start