Hyperledger Fabric 1.0 从零开始(五)——运行测试e2e

简介: 3:运行测试e2e3.1、运行fabric-samples的问题说明该问题说明能够解决6.1、平台特定使用的二进制文件配置第一步的问题。可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本说明,具体在6.1中会重新指向本步骤。

3:运行测试e2e

3.1、运行fabric-samples的问题说明

该问题说明能够解决6.1平台特定使用的二进制文件配置第一步的问题。可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本说明,具体在6.1中会重新指向本步骤。

一般情况下,我们会参照官网来完成第一个网络测试,在该在线文档中会让我们去下载一个fabric-samples,下载地址在github上,我们需要将其下载至本地是一个fabric-samples-release文件夹,将其更名为fabric-samples随后上传至opt/gopath/src目录下。

按照官网提示执行的命令是无法运行起first-network这个项目,该demo需要先下载 Platform-specific Binaries(特定的二进制文件),按照官方文档中的描述,需要先执行如下命令:

curl -sSL https://goo.gl/iX9dek | bash

上述命令会下载自动化部署脚本,同时也会下载平台特定使用的二进制文件才cryptogen、configtxgen、configtxlator以及peer,把他们放到上述仓库的bin目录下。

通常执行上述命令并不能下载,即便是能下载,速度也奇慢无比,故此,我们离线下载相关二进制文件来执行上述操作。

可以在http://download.csdn.net/download/jiayiyangzhu/10245492执行下载1.0版本的,在https://download.csdn.net/download/jiayiyangzhu/10330267执行下载1.1版本的,积分默认最低2…

在官网给出的执行命令中并没有给出离线下载地址,且官网也没有离线部署说明,我们可以在1.4.2中下载的fabric源码中找到下载地址,在/opt/gopath/src/github.com/hyperledger/fabric/scripts目录下有一个bootstrap-1.0.0.sh脚本文件,事实上如果外网访问条件优越的情况下,直接运行该脚本即可下载所有所需的fabric镜像文件及官方指定所需的二进制文件。

打开bootstrap-1.0.0.sh(目前最新版为1.0.0,以实际为准),找到其中对“Downloading platform binaries”的输出行,目前所见是“echo "===> Downloading platform binaries"”,查看其指向的下载地址,可以得到一个官网提供的离线下载网址,根据上下文意思及当前我们所使用的版本信息,可以得到最终的离线下载文件地址,下载该文件到本地。

根据官网的介绍,解压后会得到一个bin文件夹,将其解压至/opt/gopath/src/github.com/hyperledger/fabric-samples目录下即可运行first-network等项目。

 

3.2、运行e2e_cli项目

进入到/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli目录下,文件结构如下图所示:

network_setup.sh是一件测试脚本,该脚本启动5docker容器,其中4个容器运行peer节点和1个容器运行orderer节点,它组成一个Fabric集群。另外还有一个cli容器用于执行创建channel、加入channel、安装和执行chaincode等操作。测试用的chaincode定义了两个变量,在实例化的时候会给这两个变量赋予了初始值,并通过invoke操作可以使两个变量的值发生变化。

通过以下命令执行测试:

bash network_setup.sh up

接下来会有许多的调试信息,具体可参考e2e_cli目录下的script/script.sh文件,当终端出现以下信息时,说明测试通过,所有部件正常工作:

这个命令可以在本机启动4+1的Fabric网络并且进行测试,跑Example02这个ChainCode。我们可以看到每一步的操作,最后确认单机没有问题。确认我们的镜像和脚本都是正常的,我们就可以关闭Fabric网络,继续我们的多机Fabric网络设置工作。关闭Fabric命令:

bash network_setup.sh down

 

3.3e2e_cliLinux内核bug

Fabric网络集群测试环境在Linux内核低版本上可能会出现问题,这是旧版内核的bug,比如在执行bash network_setup.sh up的时候会出现如下错误:

即执行chaincode初始化的时候报错,导致集群单机无法启动。

解决方案,使用最新版稳定版的docker(笔者写文档时的最新稳定版为:17.06.0-ce),将Linux内核升级到最新版,笔者原先使用的Linux内核是3.10,出现了上述问题,目前笔者使用的内核版本是4.12.5-1.e17,能够完美运行Fabric集群环境。

具体可以参考Can´t specify memory limit in docker run and docker compose

 

目录
相关文章
|
3月前
|
开发框架 IDE .NET
【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
|
2天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
29天前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
38 4
|
26天前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
56 0
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
3月前
|
Cloud Native 数据处理
项目环境测试问题之当异步任务在运行过程中抛出非预期的异常会导致后果如何解决
项目环境测试问题之当异步任务在运行过程中抛出非预期的异常会导致后果如何解决
|
3月前
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
|
4月前
|
Java 测试技术 数据库
单元测试问题之LoginServiceImpl以避免对IpUtil的依赖问题如何解决
单元测试问题之LoginServiceImpl以避免对IpUtil的依赖问题如何解决
|
4月前
|
测试技术 持续交付
单元测试问题之确保单元测试自动化运行中的问题如何解决
单元测试问题之确保单元测试自动化运行中的问题如何解决
|
4月前
|
SQL DataWorks Java
DataWorks操作报错合集之在本地任务和冒烟测试中可以正常运行,但在调度任务中报错,是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
测试技术 数据安全/隐私保护 索引
基于SpringBoot+Vue大学生体质测试管理系统【源码+论文+演示视频+包运行成功】(2)
基于SpringBoot+Vue大学生体质测试管理系统【源码+论文+演示视频+包运行成功】
36 0