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

Hyperledger Fabric 2.2版本环境搭建

前言

部署环境: CentOS7.9
提前安装好以下工具

  • git客户端
  • golang
  • docker
  • docker-compose
  • curl工具

以下是个人使用的版本

  • git: 2.39.2
  • golang: 1.18.6
  • docker: 23.0.3
  • dockkekr-compose: v2.17.2
  • curl: 7.29.0

官方文档参考链接:跳转链接,不同的版本对应的官方文档不太一样,参考的时候注意看对应版本的文档,docker版本不能过低,官方要求17.06.2-ce 或更高版本

环境搭建

  • 下载fabric源码
git clone https://github.com/hyperledger/fabric.git

在这里插入图片描述

  • 进入到源代码的根目录,查看当前所处的分支
cd fabric/
git branch
  • 刚下载的源码默认是在main分支

在这里插入图片描述

  • 切换到对应2.2版本的分支
git checkout -b release-2.2 origin/release-2.2
git branch

在这里插入图片描述

  • 进入到fabric源码的scripts文件夹中
cd scripts/
ls -l

可以看到有个bootstrap.sh文件
在这里插入图片描述

  • 执行脚本进行安装
sh bootstrap.sh 
  • 如果没有可执行权限使用以下命令修改权限
chmod +x bootstrap.sh 

执行脚本主要做了以下几件事情

  1. 下载fabric-samples的源码并切换到对应的版本
  2. 下载hyperledger-fabric-linux-amd64-2.2.10.tar.gz,解压后会生成bin和config目录
  3. 下载hyperledger-fabric-ca-linux-amd64-1.5.5.tar.gz,解压后生成bin目录
  4. 下载hyperledger fabric相关docker镜像,并修改镜像tag为latest
  • 脚本执行完成后主要生成以下内容
  1. fabric-samples源码
    在这里插入图片描述
  2. 切换到 fabric-samples会有两个目录:bin和config 在这里插入图片描述
  3. docker镜像
    在这里插入图片描述
  • 修改bin和config目录的可执行权限,进入到fabric-samples源码根目录,执行以下命令
chmod -R +x bin/
chmod -R +x config/
  • 进入到fabric-samples的test-network目录
cd test-network/
  • 使用以下命令启动
sh network.sh up

在这里插入图片描述

  • 使用docker命令可以看到启动了以下几个容器

在这里插入图片描述

  • 创建channel
./network.sh createChannel -c mychannel

出现以下内容代表创建channel成功,channel创建成功后加入到节点里面
在这里插入图片描述
在这里插入图片描述

  • 部署合约
./network.sh deployCC -ccn contract-name -ccv 1 -ccs 1 -ccp fabric-samples/asset-transfer-basic/chaincode-go -ccl go

以上命令几个参数的含义:
deployCC:这个脚本是源码里面自带的,在fabric-samples/test-network/scripts/下面
-ccn:合约名称
-ccv:合约版本
-ccl: 合约的语言,java,go等
-ccs:合约的序列,必须是整数
-ccp:合约所在的路径
其他参数可以在fabric-samples/test-network/scripts/utils.sh脚本里面,这个脚本对每个参数都有详细的说明。
对于部署的合约可以自己定义或者使用官方提供的示例,官方提供的示例在fabric-samples/asset-transfer-basic
在这里插入图片描述
以上命令执行成功后,最终会输出以下结果:
在这里插入图片描述

  • 如果要关闭网络,执行以下命令
./network.sh down

以上命令会将启动的docker镜像全部关闭并移除
在这里插入图片描述

问题解决

  • 部署合约过程出现:dial tcp 142.251.42.241:443: connect: connection refused
    在这里插入图片描述
    解决方案:更换代理地址,执行以下命令
    go env -w GOPROXY=https://goproxy.cn
    

结束

以上便是Hyperledger Fabric 2.2版本环境的搭建,如有问题欢迎随时交流。

http://www.lryc.cn/news/59622.html

相关文章:

  • macOS Monterey 12.6.5 (21G531) Boot ISO 原版可引导镜像
  • 【软件设计师13】数据库设计
  • SpringMVC的全注解开发
  • C# | 导出DataGridView中的数据到Excel、CSV、TXT
  • 新规拉开中国生成式AI“百团大战”序幕?
  • 日撸 Java 三百行day31
  • 在线绘制思维导图
  • 月薪20k的性能测试必备技能:发现性能瓶颈掌握性能调优
  • 3、Web前端学习规划:CSS - 学习规划系列文章
  • 城市轨道交通列车时刻表优化问题【最优题解】
  • 常年不卷,按时下班,工作能力强,同事求助知无不言,不扯皮,不拉帮结派,这样的职场清流竟然被裁掉了!...
  • 基于改进多目标灰狼优化算法的考虑V2G技术的风、光、荷、储微网多目标日前优化调度研究(Matlab代码实现)
  • Python 函数、文件与模块
  • 在Spring Boot微服务使用RedisTemplate操作Redis
  • 4月软件测试面试太难,吃透这份软件测试面试笔记后,成功跳槽涨薪30K
  • 人人拥有ChatGPT的时代来临了,这次微软很大方!
  • 【C++11】自动类型推导(Type Inference)
  • 拐点!智能座舱破局2023
  • SAP开发环境ABAP的搭建(客户端和服务器),Developer Key和AccessKey的绕过方法
  • VSCode的C/C++编译调试环境搭建(亲测有效)
  • 物理世界的互动之旅:Matter.js入门指南
  • 在线文章生成器-文章生成器在线生成
  • 第十四届蓝桥杯大赛软件赛省赛-试题 B---01 串的熵 解题思路+完整代码
  • 【Leetcode】消失的数字 [C语言实现]
  • SpringBoot接口 - 如何实现接口限流之单实例
  • 【花雕学AI】深度挖掘ChatGPT角色扮演的一个案例—CHARACTER play : 莎士比亚
  • 腾讯云物联网开发平台 LoRaWAN 透传接入 更新版
  • 4.6--计算机网络之TCP篇之TCP的基本认识--(复习+深入)---好好沉淀,加油呀
  • 一文吃透Elasticsearch
  • CPU占用率高怎么办?正确解决方法在这里!