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
注意事项:
- 安装并绑定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
- 官方链接中的第三步 快速体验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
- 运行Caliper
npx caliper benchmark run --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json
- 上述过程是使用Caliper测试示例代码caliper-benchmark中的helloworld.sol文件部署在WeCross中的FISCO BCOS链上的性能,可通过BCOS浏览器查看测试结果。
7. 试验结束
bash WeCross/clear.sh
8 自行测试总结:
- /root/fisco 文件夹里的那条链是WeBASE作为浏览器的
- 在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
测试结果如下:
- 需要用gradle进行自行编译合约的测试代码并编译,没搞懂。。。试过将PerformanceHelloWorld.java合约放在 ./gradelw build之前,一直报错说 google format error
参考链接 https://blog.csdn.net/Qudoudou2020/article/details/134081824