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版本环境的搭建,如有问题欢迎随时交流。

猜你喜欢

转载自blog.csdn.net/LSW_JAVADP/article/details/130133656
今日推荐