0418WeCross搭建 + Caliper测试TPS

news2024/12/25 9:03:47

1. 基本信息

虚拟机名称:Pure-Ununtu18.04
WeCross位置:/root/wecross-demo

2. 搭建并启动WeCross

参考官方指导文档
https://wecross.readthedocs.io/zh-cn/v1.2.0/docs/tutorial/demo/demo.html

访问WeCross网页管理平台
http://localhost:8250/s/index.html#/login
用demo已配置账户进行登录:org1-admin,密码:123456

3. 启动Fabric浏览器

参考下述链接
https://blog.csdn.net/shenzhang7331/article/details/134270735

链位置:/root/wecross-demo/fabric/
访问Fabric浏览器
http://localhost:8082/#/login
用户名:exploreradmin 密码:exploreradminpw

4. 启动FISCO BCOS浏览器

浏览器位置:/root/fisco-browser
参考下列链接
https://fisco-bcos-documentation.readthedocs.io/zh-cn/dev/docs/browser/deploy.html

访问BCOS浏览器地址
http://127.0.0.1:5100/
使用文档
https://fisco-bcos-documentation.readthedocs.io/zh-cn/dev/docs/browser/browser.html

1. 新建群组需要配置群组ID,群组名称,描述。群组ID需要和区块链群组ID保持一致。
群组ID查看方式:

RPC接口获取 https://fisco-bcos-documentation.readthedocs.io/zh-cn/dev/docs/api.html#getgrouplist

2. 添加群组所在的节点信息,用于区块链浏览器连接拉取相关展示信息。
节点的rpc端口信息和p2p端口信息可以从节点的 config.ini配置文件中获取

5. 使用Caliper0.2 测试Fabric1.4性能

参考链接:
https://blog.csdn.net/shenzhang7331/article/details/134270735

6. 使用Caliper测试0.2 测试FISCO BCOS性能

位置:/root/0418

官方链接
https://fisco-bcos-documentation.readthedocs.io/zh-cn/dev/docs/tutorial/caliper.html

注意事项:

  1. 安装并绑定Caliper0.2.0之后,由于FISCO BCOS对于caliper 0.2.0版本的适配存在部分不兼容情况,需要手动按照(https://github.com/FISCO-BCOS/FISCO-BCOS/issues/1248)中的步骤修改代码后方可正常运行。

https://github.com/FISCO-BCOS/FISCO-BCOS/issues/1248
https://github.com/FISCO-BCOS/FISCO-BCOS/issues/1721

  1. 官方链接中的第三步 快速体验FISCO BCOS基准测试 测试的是在dockers中部署的一条BCOS链,并不是WeCross管辖的链,因此需要修改配置文件如下:
#文件位置: caliper-benchmarks/networks/fisco-bcos/4nodes1group/fisco-bcos.json

{
    "caliper": {
        "blockchain": "fisco-bcos"
    },
    "fisco-bcos": {
        "config": {
            "privateKey": "bcec428d5205abe0f0cc8a734083908d9eb8563e31f943d760786edf42ad67dd",
            "account": "0x64fa644d2a694681bd6addd6c5e36cccd8dcdde3"
        },
        "network": {
            "nodes": [
                {
                    "ip": "127.0.0.1",
                    "rpcPort": "8545", #node0的rpcPORT, 位于wecross-demo/bcos/nodes/127.0.0.1/node0/config.ini
                    "channelPort": "20200" #node0的rpcPORT, 位于wecross-demo/bcos/nodes/127.0.0.1/node0/config.ini
                },
                {
                    "ip": "127.0.0.1",
                    "rpcPort": "8546",
                    "channelPort": "20201"
                },
                {
                    "ip": "127.0.0.1",
                    "rpcPort": "8547",
                    "channelPort": "20202"
                },
                {
                    "ip": "127.0.0.1",
                    "rpcPort": "8548",
                    "channelPort": "20203"
                }
            ],
            "authentication": {
                "key": "./networks/fisco-bcos/4nodes1group/sdk/sdk.key",#此处需要将/root/wecross-demo/bcos/nodes/127.0.0.1/sdk下的sdk.key,sdk.crt, ca.crt拷贝至此,前面的路径不能改变。注意名称变化!!!
                "cert": "./networks/fisco-bcos/4nodes1group/sdk/sdk.crt",
                "ca": "./networks/fisco-bcos/4nodes1group/sdk/ca.crt"
            },
            "groupID": 1,
            "timeout": 100000
        },
        "smartContracts": [
            {
                "id": "helloworld",
                "path": "src/fisco-bcos/helloworld/HelloWorld.sol",
                "language": "solidity",
                "version": "v0"
            }
        ]
    },
    "info": {
        "Version": "2.0.0",
        "Size": "4 Nodes",
        "Distribution": "Single Host"
    }
}
# 文件位置
test:
  name: Hello World
  description: This is a helloworld benchmark of FISCO BCOS for caliper
  clients:
    type: local
    number: 1
  rounds:
  - label: set
    description: Test performance of getting name
    txNumber:
    - 100
    rateControl:
    - type: fixed-rate
      opts:
        tps: 50
    callback: benchmarks/samples/fisco-bcos/helloworld/set.js #将实验内容写入
  - label: get
    description: Test performance of setting name
    txNumber:
    - 100
    rateControl:
    - type: fixed-rate
      opts:
        tps: 50
    callback: benchmarks/samples/fisco-bcos/helloworld/get.js
monitor:
  type:
  - docker
  - process
  docker:
    name:
    - node0
    - node1
    - node2
    - node3
  process:
    - command: node
      arguments: fiscoBcosClientWorker.js
      multiOutput: avg
  interval: 0.5
  1. 运行Caliper
npx caliper benchmark run  --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml  --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json
  1. 上述过程是使用Caliper测试示例代码caliper-benchmark中的helloworld.sol文件部署在WeCross中的FISCO BCOS链上的性能,可通过BCOS浏览器查看测试结果。

7. 试验结束

bash WeCross/clear.sh

8 自行测试总结:

  1. /root/fisco 文件夹里的那条链是WeBASE作为浏览器的
  2. 在FISCO BCOS区块链系统中使用Java SDK进行压力测试
    参考链接: https://blog.csdn.net/Qudoudou2020/article/details/134081824
    使用Java_sdk_demo进行压力测试
java -cp 'conf/:lib/*:apps/*' org.fisco.bcos.sdk.demo.perf.PerformanceOk 3000 1000000 1

测试结果如下:
在这里插入图片描述

  1. 需要用gradle进行自行编译合约的测试代码并编译,没搞懂。。。试过将PerformanceHelloWorld.java合约放在 ./gradelw build之前,一直报错说 google format error
    参考链接 https://blog.csdn.net/Qudoudou2020/article/details/134081824

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1606067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

变频超声波驱鸟器,变电站驱鸟

随着春夏季来临,各种鸟类活动也愈发频繁。这一时期,变电站内有很多中大型鸟类,选择在户外架空高压裸导线龙门架、主变进线支撑架等重要设备上筑巢停留,它们筑巢所用的枝干和各类杂物,时常会掉落,引发设备短…

SQL Server Management Studio 显示行号

前言 在使用 SQL Server Management Studio (SSMS) 进行数据库管理和查询时,能够看到代码的行号是非常有用的。这可以帮助您更容易地定位代码错误、讨论特定的代码行,或者在执行长查询时快速找到特定行。在本文中,我将向您展示如何在 SSMS 中…

怎么你出的MES方案像屎一样?

最近在一个群里面,大家普遍感受到制定MES技术方案变得越来越困难,客户也变得越来越挑剔,方案的复杂度也在不断增加。在竞标过程中,各方技术水平的差距变得越来越小,这让人们感到相当困扰。考虑到这一问题,我…

OpenHarmony多媒体-ohos_videocompressor

介绍 videoCompressor是一款ohos高性能视频压缩器。 目前实现的能力: 支持视频压缩 使用本工程 有两种方式可以下载本工程: 开发者如果想要使用本工程,可以使用git命令 git clone https://gitee.com/openharmony-sig/ohos_videocompressor.git --…

U盘文件突然消失?别急,这里有数据恢复的终极攻略!

在日常的工作和生活中,U盘几乎成了我们随身携带的“数据小仓库”,存放着各种重要的文件。然而,就在某一天,你突然发现U盘中的文件神秘失踪,仿佛从未存在过一般。这种突如其来的U盘文件消失,无疑让人措手不及…

docker拉取镜像速度慢

解决办法是配置阿里云镜像加速 在docker desktop的docker engine里添加 "registry-mirrors": ["https://owzy8hoh.mirror.aliyuncs.com"] 修改以后重启docker 参考: 【docker】Windows10系统下安装并配置阿里云镜像加速_docker desktop 配置…

MySQL中InnoDB的行级锁

InnoDB 实现了以下两种类型的行锁。 共享锁(S):又称为读锁,简称S锁,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。 排他锁(X)&am…

仿真科普|从设计到研发,CAE仿真技术为汽车智造保驾护航

2024年3月28日,对于汽车产业来说,是历史性的一天,作为近年汽车行业发布会流量最大的一次,小米SU7的发布让整个汽车圈为之沸腾,成功收割全平台热搜。时至今日,小米汽车依然热度不减。 随着“蔚、小、理、特…

利用米家通断器与双控开关改造排风扇,或手动或定时运行

改造前的排风扇接线图如下: 改造要求:实现手动与智能运行两种控制方式,互不影响。 改造后的米家通断器与双控开关接线图如下: 默认米家通断器与双控开关都是关闭状态。

Leetcode 4.18

Leetcode 1.无重复字符的最长子串2.最长回文子串3.整数反转4.字符串转换整数 (atoi)5.正则表达式匹配 1.无重复字符的最长子串 无重复字符的最长子串 滑动窗口,先让右指针右移,如果发现这个子串有元素和右指针当前元素重复。 则: 左指针右移…

OpenHarmony南向开发案例:【智能照相机】

样例简介 本Demo是基于Hi3516开发板,使用OpenHarmony3.0-LTS开发的应用。通过获取摄像头数据,实现预览拍照以及路视频等功能。并且通过后台AI服务识别唤醒词来进行语音控制拍照及录制视频。 应用运行效果图: 此为相机的预览界面。 样例原理…

#无FIFO驱动OV7670基于cubemx(草稿)

1.前言 之前在淘宝买了一个不带FIFO的OV7670,由于比赛和其他事一直搁置,现在有时间于是想玩一玩。我发现网上这个的教程多为标准库,有些甚至利用了DCMI(数字摄像头接口,目前已知F4系列是有这个外设的)。标…

ant-design-vue Table+Form表单实现表格内置表单验证,可自定义验证规则,触发必填项

代码示例如下&#xff1a; <!-- --> <template><a-button type"primary" style"padding-left: 10px; padding-right: 10px" click"handleAddRow"><template #icon><plus-outlined /></template>新增</…

SOT23-6封装单键触摸感应触发芯片TC233A

前言&#xff1a; 触摸芯片很多&#xff0c;现在触摸按键已经应用到很多行业&#xff0c;虽然不能覆盖所有的按键&#xff0c;但确实用的越来越多&#xff0c;国产的价格也便宜的令人发指&#xff0c;比如这个TC233A&#xff0c;也就一毛多一点。 TC233A概述 TC233A 是一个单…

【机器学习入门】推导超级详细,一文讲清楚支持向量机(SVM)【从原理到代码】

支持向量机(SVM)是机器学习中非常经典的一个模型&#xff0c;所以我就把这个作为第二个深入学习的机器学习模型&#xff0c;然后发现居然还挺难的&#xff08;调包侠流下无能泪水&#xff09;。 参考了很多博客&#xff0c;但是大部分博客都是讲一部分&#xff0c;要么数学部分…

Java面试八股之Iterator接口和Iterable接口

1. Java为什么不直接实现Iterator接口&#xff0c;而是实现Iterable? 这道题算是一道比较基础的题&#xff0c;面试官肯定也不是想让回答得多深入&#xff0c;只是考查对迭代器的了解程度&#xff0c;最好是看过源码&#xff0c;实际上迭代器的源码并不难。我们把注释折叠起来…

gpt-6有望成为通用工具

OpenAI CEO山姆奥特曼&#xff08;Sam Altman&#xff09;在最新的博客访谈中&#xff0c;提到gpt-6有望成为通用工具。 奥特曼还认为&#xff0c;目前的模型不够聪明&#xff0c;“使用GPT-2进行科学研究曾被认为是不切实际的想法。而如今&#xff0c;虽然人们使用GPT-4进行科…

C++异常学习

C语言传统的处理错误的方式 传统的错误处理机制&#xff1a; 终止程序&#xff0c;如assert&#xff0c;缺陷&#xff1a;用户难以接受。如发生内存错误&#xff0c;除0错误时就会终止程序。返回错误码&#xff0c;缺陷&#xff1a;需要程序员自己去查找对应的错误。如系统的…

【基础】在GCC中编译和链接不是一个命令

在 GCC&#xff08;GNU Compiler Collection&#xff09;中&#xff0c;编译和链接不是一个命令。编译是将源代码转换为目标代码的过程。它主要进行语法检查、词法分析、生成中间代码等操作。链接是将多个目标文件和库文件组合成一个可执行文件的过程。在 GCC 中&#xff0c;通…

Root mapping definition has unsupported parameters: [all : {analyzer=ik_max_wor

你们好&#xff0c;我是金金金。 场景 我正在使用Springboot整合elasticsearch&#xff0c;在创建索引(分词器) 运行报错&#xff0c;如下 排查 排查之前我先贴一下代码 import org.elasticsearch.action.admin.indices.create.CreateIndexRequest; // 注意这个包SpringBootTe…