当前位置: 首页 > news >正文

Hyperledger Caliper 一键测试环境部署脚本

脚本概述

这是一个针对 FISCO BCOS 区块链平台的 Hyperledger Caliper 测试环境自动化部署脚本。通过全流程自动化操作,实现从系统环境检查、依赖安装到测试框架搭建及测试执行的完整部署,极大简化手动配置复杂度。

适用系统:仅在 Ubuntu 20.04 系统测试通过,其他系统版本可能存在兼容性问题。

核心功能

  1. 环境校验

    • 检查系统是否为 Ubuntu 发行版
    • 确保脚本以 root 或 sudo 权限运行
    • 验证工作目录及镜像存放目录有效性
  2. 依赖管理

    • 自动安装系统核心依赖(make、gcc、git、curl 等)
    • 配置 Docker 环境(使用阿里云源加速安装)
    • 离线安装 Docker Compose(需提前准备二进制文件)
  3. 镜像管理

    • 自动检查并拉取 FISCO BCOS 相关镜像
    • 拉取失败时自动加载本地镜像文件(支持离线环境)
    • 统一镜像标签确保兼容性
  4. Node.js 环境配置

    • 安装 NVM(Node 版本管理器)并配置国内镜像
    • 安装 Node.js 8 及对应 npm 版本(Caliper 0.2.0 依赖)
    • 配置 npm 国内镜像加速依赖下载
  5. Caliper 部署

    • 安装指定版本的 Caliper CLI(0.2.0)
    • 绑定 FISCO BCOS 适配器(支持自动修复安装失败问题)
    • 拉取测试案例仓库(支持 GitHub/Gitee 双源)
  6. 兼容性修复

    • 自动修改配置文件解决路径解析问题
    • 修复事件发射器空值及 UUID 格式兼容问题
    • 补充 secp256k1 密码学依赖库
  7. 自动化测试

    • 执行 HelloWorld 合约测试验证环境有效性
    • 输出详细部署结果及工作目录信息

使用方法

前置准备

  1. 将脚本保存为 deploy_caliper.sh
  2. 在脚本同级目录创建以下结构:
    ├── bin/
    │   └── docker-compose-Linux-x86_64  # Docker Compose 二进制文件
    └── images/├── fiscobcos.tar                # FISCO BCOS 镜像(可选,离线用)└── solc-0.4.25.tar              # Solidity 编译器镜像(可选,离线用)
    

启动命令

# 赋予执行权限
chmod +x deploy_caliper.sh# 执行部署(需联网,离线环境需确保镜像文件存在)
./deploy_caliper.sh

执行流程说明

  1. 系统环境检查 → 确认 Ubuntu 系统及 root 权限
  2. 安装系统依赖 → 配置 Docker 及 Docker Compose
  3. 处理镜像文件 → 拉取或加载 FISCO BCOS 相关镜像
  4. 配置 Node 环境 → 安装 NVM 及 Node.js 8
  5. 部署 Caliper → 安装 CLI 并绑定 FISCO BCOS 适配器
  6. 准备测试案例 → 拉取仓库并修复配置文件
  7. 执行测试验证 → 运行 HelloWorld 合约测试
  8. 输出部署结果 → 显示工作目录及成功信息

注意事项

  • 脚本执行过程中需保持网络通畅(除非使用离线镜像)
  • Docker 权限变更需重新登录生效,或执行 newgrp docker 临时生效
  • 测试案例默认拉取自定义仓库,如需使用官方仓库可修改脚本中克隆地址
  • 部署成功后,工作目录位于脚本同级的 caliper-workspace
  • 若执行失败,可根据终端红色错误提示定位问题(通常为依赖缺失或文件路径错误)

脚本链接

gitee: https://gitee.com/sqdaxiang/caliper-build-tools
gitube: https://github.com/sqdaxiang/CaliperBuildTools

http://www.dtcms.com/a/296278.html

相关文章:

  • LeetCode|Day24|383. 赎金信|Python刷题笔记
  • Android安全存储:加密文件与SharedPreferences最佳实践
  • C++右值引用与移动语义详解
  • 低速信号设计之 JTAG 篇
  • lesson23:Python面向对象高级特性详解
  • 2025年6月GESP(C++六级):学习小组
  • MySQL常见命令
  • 封装和使用自定义指令
  • Mysql大数据架构设计:当表中数据超过800万时,对数据表进行分表操作,以及分页查询优化详解
  • linux常见面试题/笔试收录(一)
  • 《云计算蓝皮书 2025 》发布:云计算加速成为智能时代核心引擎
  • Unity VS Unreal Engine ,“电影像游戏的时代” 新手如何抉择引擎?(结)
  • EVAL长度限制突破方法
  • FastGPT:企业级智能问答系统,让知识库触手可及
  • 使用Claude Code从零到一打造一个现代化的GitHub Star项目管理器
  • 密码学与加密货币:构建去中心化信任的技术基石与未来挑战
  • 离线环境下如何优雅地部署 Mentor Questa
  • 在Ubuntu上使用QEMU仿真运行ARM汇编
  • 【​I2S:芯片设计中的“音频桥梁”​】
  • 使用 eBPF 实时捕获 TCP 重传告警:精准定位网络抖动问题
  • 点击按钮滚动到底功能vue的v-on:scroll运用
  • 亚马逊云科技实战架构:构建可扩展、高效率、无服务器应用
  • MinIO Go 客户端使用详解:对象存储开发实战指南
  • 风波不断,“奶粉第一股”贝因美渡劫
  • nginx有几种日志
  • 【vector定义】vector f(k, vector<int>(k));
  • 第三章:掌握 Redis 存储与获取数据的核心命令
  • 阿里v1支付系列验证码逆向/百度成语点选vmp逆向
  • 基于深度学习的胸部 X 光图像肺炎分类系统(四)
  • 电脑录屏软件推荐:如何使用oCam录制游戏、教程视频