caliper接入自搭建多机fabric网络

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

https://github.com/TomContral/caliper-end

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值