Hyperledger Caliper手册

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

NPM方式安装Caliper

Caliper发布的一种方式为NPM包:@hyperledger/caliper-cli,它提供了安装所有 支持的Caliper适配器的单一入口。

版本语义

在介绍安装Caliper的具体步骤之前,让我们看一下caliper命令行工具的版本帮助信息。

由于Caliper目前还在预发行阶段(<1.0.0),这意味着即使小版本的升级也会引入不兼容的 变化。因此如果你在项目中使用Caliper,可能会时不时地碰到一些问题。

现在我们先忽略tag,看一看两种类型的版本号:

  • 0.2.0:稳定版本,尽可能使用这种版本
  • 0.3.0-unstable-20200206065953:不稳定版本

安装Caliper的前提要求

采用NPM方式安装Caliper命令行需要以下工具:

  • node-gyp, python2, make, g++ 和git (安装过程中的提取代码及编译)
  • Node.js v8.X LTS 或 v10.X LTS (运行Caliper所需基础环境)
  • Docker和Docker Compose (仅在运行本地环境时,或者采用Caliper的Docker镜像时)

本地NPM安装

主要步骤如下:

  • 在工作目录使用npm init初始化项目package.json文件
  • 安装Caliper NPM包,推荐指定版本号,例如:@hyperledger/caliper-cli@0.2.0
  • 将caliper工具绑定到所需的平台SDK,例如Fabric + 1.4.0 SDK
  • 使用恰当的参数调用本地caliper命令行

具体命令如下:

user@hubwiz:~/caliper-benchmarks$ npm init -y
user@hubwiz:~/caliper-benchmarks$ npm install --only=prod \
    @hyperledger/caliper-cli@0.2.0
user@hubwiz:~/caliper-benchmarks$ npx caliper bind \
    --caliper-bind-sut fabric:1.4.0
user@hubwiz:~/caliper-benchmarks$ npx caliper launch master \
    --caliper-workspace . \
    --caliper-benchconfig benchmarks/scenario/simple/config.yaml \
    --caliper-networkconfig networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml

在启动Caliper主进程时,也可以进行自动绑定,注意下面caliper launch master 中的额外参数:

user@hubwiz:~/caliper-benchmarks$ npm init -y
user@hubwiz:~/caliper-benchmarks$ npm install --only=prod \
    @hyperledger/caliper-cli@0.2.0
user@hubwiz:~/caliper-benchmarks$ npx caliper launch master \
    --caliper-bind-sut fabric:1.4.0 \
    --caliper-workspace . \
    --caliper-benchconfig benchmarks/scenario/simple/config.yaml \
    --caliper-networkconfig networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml

全局NPM安装

采用全局方式安装CaliperNPM包时,与本地安装方式有一些区别:

  • 在当前目录不需要package.json文件
  • 可以在任何目录执行install、bind和run
  • 需要全局安装caliper命令行
  • 绑定步骤也要全局安装,--caliper-bind-args parameter
  • 可以省略npx命令,因为caliper已经在PATH路径中

具体命令如下:

user@hubwiz:~$ npm install -g --only=prod @hyperledger/caliper-cli@0.2.0
user@hubwiz:~$ caliper bind \
    --caliper-bind-sut fabric:1.4.0 \
    --caliper-bind-args=-g
user@hubwiz:~$ caliper launch master \
    --caliper-workspace ~/caliper-benchmarks \
    --caliper-benchconfig benchmarks/scenario/simple/config.yaml \
    --caliper-networkconfig networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml