赞
踩
首先我们部署caliper的电脑或虚拟机需要可以联网。
我们的操作系统需要满足以下要求:Ubuntu >= 16.04 、CentOS >= 7。
本次使用的操作系统是Ubuntu20.0.4系统。
首先我们需要安装NodeJS,我们这里先下载nvm管理工具这样有利于管理node的版本,命令如下:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
如果因为网络问题,长时间无法下载,请尝试:curl -o- https://gitee.com/mirrors/nvm/raw/v0.33.2/install.sh | bash
加载nvm配置
source ~/.$(basename $SHELL)rc
现在我们使用nvm下载NodeJS并使用node版本,命令如下:
- nvm install 8
- nvm use 8
可以使用 node -v 来查看node的版本号:
我们这里还需要安装docker因为我们测试的不是自己的链,在安装之前我们需要更新包索引,如何在进行安装,更新命令如下:
sudo apt-get update
更新完之后就可以部署docker,安装基本依赖库,命令如下:
- sudo apt-get install \
- apt-transport-https \
- ca-certificates \
- curl \
- gnupg-agent \
- software-properties-common
现在添加官方的GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
成功之后的截图,最后会出现一个OK。
添加docker仓库:
- sudo add-apt-repository \
- "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
- $(lsb_release -cs) \
- stable"
再次更新索引包:
sudo apt-get update
然后安装docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
加入docker用户组:
- sudo groupadd docker
- sudo usermod -aG docker $USER
然后我们还需要安装Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
现在需要给执行权限:
sudo chmod +x /usr/local/bin/docker-compose
建立工作目录:
mkdir benchmarks && cd benchmarks
对npm项目进行初始化,执行之后碰到要输入的地方,一直按回车:
npm init
执行之后的结果图:
安装caliper-cli:
npm install --only=prod @hyperledger/caliper-cli@0.2.0
验证caliper-cli是否安装成功,使用以下命令查看版本,如果可以看到就代表安装成功了:
npx caliper -version
由于Caliper采用了轻量级的部署方式,因此需要显式的绑定步骤指定要测试的平台:
npx caliper bind --caliper-bind-sut fisco-bcos --caliper-bind-sdk latest
如果安装时出现了这个问题,就需要切换镜像:
如果遇到了这个问题,我们就需要切换淘宝镜像:
npm install -g cnpm --registry=https://registry.npm.taobao.org
然后清除以下npm缓存:
npm cache clean --force
然后再次绑定就可以成功了:
然后我们在工作目录下,下载预定义测试用例:
git clone https://github.com/vita-dounai/caliper-benchmarks.git
如果因为网络问题长时间拉取代码失败,请尝试:git clone https://github.com/vita-dounai/caliper-benchmarks.git
成功结果如下:
我们现在执行Hello World脚本的测试:
npx caliper benchmark run --caliper-workspace caliper-benchmarks --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json
如果出现如下错误:
这个需要我们自己去修改以下代码,需要修改的文件和代码,首先我们需要先进入文件中,命令如下:
vim node_modules/\@hyperledger/caliper-fisco-bcos/lib/fiscoBcos.js
看清楚自己的路径在进行执行,一定要看清楚
进入fiscoBcos.js文件之后我们需要修改如下三处:
第一处大约在25行左右:
const Color = require('./common').Color;
使用上面这行语句代替掉下面截图中注释的代码,截图如下:
第二处需要改动的地方大约在41行左右:
- if (this.fiscoBcosSettings.network && this.fiscoBcosSettings.network.authentication) {
- for (let k in this.fiscoBcosSettings.network.authentication) {
- this.fiscoBcosSettings.network.authentication[k] = CaliperUtils.resolvePath(this.fiscoBcosSettings.network.authentication[k], workspace_root);
- }
- }
如下图,在使用浅蓝色框的代码下面粘贴上面提供的代码,加入完的截图如下:
第三处需要修改的地方大约在62行处:
const fiscoBcosSettings = this.fiscoBcosSettings;
使用提供的代码,代替掉下面截图中注释掉的代码:
首先我们需要先使用如下命令进入到channelPromise.js中
vim node_modules/\@hyperledger/caliper-fisco-bcos/lib/channelPromise.js
同样也需要注意自己执行命令的路径:
在这个配置文件中我们只需要修改一处即可,大约在文件的49行左右:
- let emitter = emitters.get(seq);
- if(!emitter) {
- return;
- }
- emitter = emitter.emitter;
需要把下方截图中橙色框中的代码注释掉或者删掉,然后添加上方提供的代码:
这个文件也有三处需要修改的地方,但是都很简单,我们同样先进入到web3sync.js中,命令如下:
vim node_modules/\@hyperledger/caliper-fisco-bcos/lib/web3lib/web3sync.js
同样也需要检查以下自己执行命令的所在路径:
第一处修改大约在27行左右:
uuid = '0x' + uuid.replace(/-/g, '');
使用上面提供的代码替代调用下方截图中注释掉的代码
第二处修改大于在91行左右:
extraData: '0x0'
把截图中注释掉的代码替换成上面提供的代码:
第三处修改在118行左右:
extraData: '0x0'
同样也是把注释掉的代码替换成上面提供的代码
然后我们再次执行测试Hello World的命令:
npx caliper benchmark run --caliper-workspace caliper-benchmarks --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json
然后就会报如下的错误:
我们还需要修改最后一个地方,首先我们需要先进入到caliper-fisco-bcos目录:
cd node_modules/\@hyperledger/caliper-fisco-bcos/
同样也要注意执行命令的目录:
然后我们需要进入 package.json文件中:
vim package.json
然后我们需要添加一个依赖包:
"secp256k1": "^3.8.0"
我们把上面这个依赖包添加到dependencies,的最后面,操作如下图:
最后我们需要在该目录执行以下命令:
npm i
最后会这样,不用管:
现在我们回到benchmarks目录:
cd /root/fisco/benchmarks
注意:一定要注意自己的路径,因为路径可能和我的并不一样。
现在我们再次执行Hello World脚本进行测试:
npx caliper benchmark run --caliper-workspace caliper-benchmarks --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json
出现如下截图就表示caliper测试成功了:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。