Hyperledger Fabric V1.0(一)配置环境并测试网络

参考了很多教程,但每一篇都会出现各种错误。原因在于都需要访问一些访问不了的国外网站。总结踩过的坑后,这篇教程将能够顺利成功进行Fabric的部署。

 

操作系统为64位的 Ubuntu 18.04 LTS

硬件为华为云的 1核2G 的弹性云服务器,机房在北京地区。

一、整体概述

网络成功运行需要3个部分:Docker镜像、二进制文件、Fabric源码

配套环境需要多种软件:Docker、Docker-compose、Golang,此外所需的 git、cURL、vim 等,操作系统已经安装完成。可选工具 npm、node 是作为之后进行开发时需要的,暂时无需安装。

在Fabric中,节点都是运行在Docker中的,所以需要安装Docker以及下载 Fabric 需要的Docker镜像。

二进制文件是最坑的地方。在Linux中称为二进制文件,其实就是Windows中的可执行程序,这里称之为小工具,在生成证书、创建创世区块等过程都需要他们。但是,坑的地方在于,几乎所有教程里都需要从一个根本无法访问的网站下载这些工具。

 

Fabric源码是一个辅助的存在,里面包含了本地生成小工具的代码以及拉取镜像的代码。也有官方的示例代码可供之后开发参考。

 

下面将从环境布置、拉取Fabric源码、Docker镜像、生成小工具以及测试网络展开讲解。

 

二、环境配置

  • 安装Docker以及Docker-compose

sudo apt updatesudo apt install dockersudo apt install docker-compose
  • 安装Golang

使用wget下载某一版本的Golang压缩包文件到当前目录

wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

解压文件到 /usr/local 目录

sudo tar -zxvf go1.10.3.linux-amd64.tar.gz -C /usr/local/
  • 配置环境变量

vim /etc/profile

在 profile 文件末尾添加如下内容

export GOPATH=$HOME/goexport PATH=/usr/local/go/bin:$PATH

 

 

三、Fabric 源码拉取

首先,需要创建源码存放的目录,并进入hyperledger目录中

mkdir -p /root/go/src/github.com/hyperledger/cd /root/go/src/github.com/hyperledger/

在 github 上的源码访问很慢,这里提供在“码云”中的下载链接

git clone https://gitee.com/songpy97/fabric.git

由于我们要切换到 V1.0的版本中,所以要查看版本并进行切换。

git branch -a

看到多个版本

这里选择切换到 release-1.0版本

git checkout release-1.0

 

四、Docker镜像下载

cd /root/go/src/github.com/hyperledger/fabric/scripts

看到下列包含的文件

绿色的为可执行文件,我们选择 bootstrap.sh 运行。这个程序包含了二进制文件、fabric-samples源码以及Docker镜像的下载,但由于网络问题,二进制文件会下载失败。

 

由于默认的镜像下载网站速度非常慢,所以需要改用其他源。

首先创建并打开如下文件

vi /etc/docker/daemon.json

写入以下内容

{    "registry-mirrors":["https://0jpre1t4.mirror.aliyuncs.com"]}  

保存后重启docker服务

systemctl restart docker

开始下载

./bootstrap.sh

等待几分钟后下载完成,执行命令 docker images 查看镜像

至此,镜像下载完成

 

五、二进制文件

进入 fabric 目录,执行命令进行本地生成二进制文件

make release

生成的文件在 release/linux-amd64/bin 的文件中

但是,为了运行全局都能运行这些程序,需要添加到环境变量中,在 /etc/profile 末尾中添加

export PATH=/root/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin:$PATH

 

六、测试网络

fabric源码中提供了示例网络的相关文件,我们可以直接进行测试。

进入目录

cd /root/go/src/github.com/hyperledger/fabric/examples/e2e_cli

执行命令

./network_setup.sh up

出现下图说明已经成功启动

执行命令 docker ps 查看运行的容器

看到 4个peer节点,1个cli节点,1个orderer节点

在另一个终端进入 /root/go/src/github.com/hyperledger/fabric 目录执行命令,进入cli节点(client节点,在该节点可以进行各种操作)

docker exec -it cli bash

此时,命令行的所在位置不是本机,而是cli节点中

查询操作,a的账户的金额

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

得到结果为90

转账操作,a向b转账50

peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","50"]}'

成功转账,最后再次查询a的账户

得到结果为40

最后,关闭网络

./network_setup.sh down

以上流程出现,表明网络运行成功。

公众号【WTC笔记】查看更多内容

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值