caliper接入多机链环境进行部署
因为Calipe更新太快了,19年7月份做的这版资源已经不适用现在的版本了!!!!!!后来我也没继续使用Calipe了。
因为对应的资源也不能删除,所以现在设为0积分了,就当做一点点参考吧。希望可以帮助到大家——————————————————————————————————————————————————————————
1.环境准备
1、NodeJS 8 (LTS), 9, or 10 (LTS)
2、node-gyp
3、Docker
4、Docker-compose
2.安装包拷贝
安装包
将安装包全部拷贝到操作机器的opt目录下,安装包目录结构如下:
3.检查环境
3.2.1、进入scripts文件夹,运行脚本,检查环境(node仅参考,以环境准备要求为主)
3.2.2、 npm list --depth=0 --global 查看node-gyp是否安装
4.修改配置文件(不接入自己网络只是运行官方范例清略过此步骤)
4.1网络配置文件修改
(范例路径caliper\packages\caliper-samples\network\fabric-v1.4.1\2org1peergoleveldb\fabric-ccp-go-tls.yaml)
name: Fabric
version: "1.0"
mutual-tls: true //是否支持tls
caliper:
blockchain: fabric-ccp
info:
Version: 1.4.0
Size: 2 Orgs with 1 Peer
Orderer: Kafka, //多机Kafka 单机Solo
Distribution: Multi Host //多机Multi 单机Single
StateDB: GoLevelDB
clients:
client0.org1.example.com:
client:
organization: Org1
credentialStore:
path: /tmp/hfc-kvs/org1
cryptoStore:
path: /tmp/hfc-cvs/org1
clientPrivateKey: //修改为你新增的证书对应路径
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/key.pem
clientSignedCert:
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/User1@org1.example.com-cert.pem
client0.org2.example.com:
client:
organization: Org2
credentialStore:
path: /tmp/hfc-kvs/org2
cryptoStore:
path: /tmp/hfc-cvs/org2
clientPrivateKey: //修改为你新增的证书对应路径
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/key.pem
clientSignedCert:
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/User1@org2.example.com-cert.pem
channels:
mychannel: //对应创世块的通道名
configBinary: network/fabric-v1.4.1/config/mychannel.tx //修改为你新增的通道文件对应路径
created: true //未创建channel时 设定为false 以创建channel,设定为true
orderers:
- orderer.example.com
peers:
peer0.org1.example.com:
eventSource: true
peer0.org2.example.com:
eventSource: true
chaincodes:
- id: simple
version: v0
language: golang //链码语言
path: contract/fabric/simple/go //链码路径
organizations:
Org1:
mspid: Org1MSP
peers:
- peer0.org1.example.com
adminPrivateKey: //修改为你新增的证书对应路径
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/key.pem
signedCert:
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem
Org2:
mspid: Org2MSP
peers:
- peer0.org2.example.com
adminPrivateKey: //修改为你新增的证书对应路径
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/key.pem
signedCert:
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem
orderers:
orderer.example.com:
url: grpcs://192.168.31.50:7050 //修改为你对应的ip
grpcOptions:
ssl-target-name-override: orderer.example.com
tlsCACerts: //修改为你新增的证书对应路径
path: network/fabric-v1.4.1/config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
peers:
peer0.org1.example.com:
url: grpcs://192.168.31.51:7051
grpcOptions:
ssl-target-name-override: peer0.org1.example.com
grpc.keepalive_time_ms: 600000
tlsCACerts:
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem
peer0.org2.example.com:
url: grpcs://192.168.31.53:7051
grpcOptions:
ssl-target-name-override: peer0.org2.example.com
grpc.keepalive_time_ms: 600000
tlsCACerts:
path: network/fabric-v1.4.1/config/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem
4.2测试基准配置文件
(范例路径caliper\packages\caliper-samples\benchmark\simple\config.yaml)
---
test:
name: simple
description: This is an example benchmark for caliper, to test the backend DLT's
performance with simple account opening & querying transactions
clients:
type: local
number: 1
rounds:
- label: open
description: Test description for the opening of an account through the deployed chaincode
txNumber:
- 10000
rateControl:
- type: fixed-rate
opts:
tps: 1500
arguments:
money: 10000
callback: benchmark/simple/open.js
- label: query
description: Test description for the query performance of the deployed chaincode
txNumber:
- 10000
rateControl:
- type: fixed-rate
opts:
tps: 2000
callback: benchmark/simple/query.js
- label: transfer
description: Test description for transfering money between accounts
txNumber:
- 100
rateControl:
- type: fixed-rate
opts:
tps: 10
arguments:
money: 100
callback: benchmark/simple/transfer.js
monitor:
type:
- docker
- process
docker:
name:
- all
process:
- command: node
arguments: local-client.js
multiOutput: avg
interval: 1
5.运行测试
模版
node ./packages/caliper-cli/caliper.js benchmark run -c benchmark/my-config.yaml -n network/my-network.yaml -w ./packages/caliper-samples
范例
node ./packages/caliper-cli/caliper.js benchmark run -c benchmark/simple/config.yaml -n network/fabric-v1.4.1/2org1peergoleveldb/fabric-ccp-go-tls.yaml -w ./packages/caliper-samples
执行结果,生成报告
6.未解决的问题点
6.1.Install the Caliper CLI
新版本集成了caliper命令,安装后可以使用caliper测试及其他相关执行,例:
caliper benchmark run -w <path to workspace> -c <benchmark config> -n <blockchain config>
caliper安装命令
export BENCHMARK=fabric-ccp
./packages/caliper-tests-integration/scripts/run-integration-tests.sh
问题点
执行安装命令失败 暂未解决 但幸好可以使用node ./packages/caliper-cli/caliper.js 替代
6.2分布式部署caliper
分布式部署caliper进行多机测试
参看官方文档(https://hyperledger.github.io/caliper/docs/1_Getting_Started.html)
6.3 测试错误
最终测试结果
info: [caliper-flow]: Generated report with path /root/gopath/src/github.com/hyperledger/caliper/report-20190716T082534.html
info: [demo.js]: [Transaction Info] - Submitted: 20100 Succ: 20100 Fail:0 Unfinished:0
info: [caliper-flow]:
#######################################
# Test summary: 3 succeeded, 2 failed #
#######################################
根据日志可以看出,错误原因为进行第二次open test和第二次query test时,会报错找不到”restart“命令。导致第二轮测试失败,合计两次失败。
7777777777777777777777777777777777777777777777777777的力量
安装包地址:https://download.csdn.net/download/qq_42750537/11341161