Hyperledger Fabric 2.5环境搭建部署及示例运行,ubuntu 22.04.4, golang jdk 安装

1. 从Ubuntu官网下载22.04.4 LTS镜像,然后使用VMware安装Ubuntu系统

在这里插入图片描述

2. 更新系统安装ssh

可选,需要通过远程终端(xshell等)链接必选

sudo apt update # 更新系统中已安装软件包的列表
sudo apt install openssh-server # 安装 OpenSSH 服务器软件包 OpenSSH 服务器允许你通过 SSH(Secure Shell)协议远程访问和管理你的计算机。安装后,你可以使用 SSH 客户端连接到这台计算机,进行远程命令执行、文件传输等操作
sudo systemctl status ssh # 查看ssh状态

在这里插入图片描述

3. 安装 Git、cURL、docker、docker-compose、jq

sudo apt-get install git curl docker.io docker-compose jq

4. 安装Golang (可选,使用golang链码必选)

cd ~ && mkdir go && cd go
wget https://golang.google.cn/dl/go1.22.4.linux-amd64.tar.gz  # 下载golang
tar xvf go1.22.4.linux-amd64.tar.gz # 解压
vi .bashrc # 配置环境变量,修改.bashrc文件,添加下面两行的命令
export GOROOT=$HOME/go/go/bin
export PATH=$PATH:$GOROOT
# 在 Linux 系统中,`.bashrc` 文件是一个用来初始化新终端会话的脚本文件。它包含了用户环境的配置,如路径、别名、环境变量等。使用 `source .bashrc` 命令可以手动加载或重新加载这些配置,而不必重新启动终端
source .bashrc
go version # 查看golang版本
# 配置goproxy 可选
go env -w GOPROXY=https://goproxy.cn,direct

下载golang安装包
请添加图片描述
解压安装包
在这里插入图片描述
在这里插入图片描述
切换到用户根目录 设置GOROOT
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

5. 安装JDK (可选,使用JAVA 链码必选)

sudo apt install default-jdk # ubuntu 22.04.4 默认jdk为11 

在这里插入图片描述
在这里插入图片描述

6. 安装 Hyperledger fabric

Install Fabric and Fabric Samples — Hyperledger Fabric Docs main documentation

cd ~ && mkdir fabric && cd fabric # 创建fabric文件夹
# 使用github安装 可以访问github则使用github安装
curl -sSLO https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh && chmod +x install-fabric.sh # 下载安装脚本
./install-fabric.sh  samples binary # 安装 
# 使用gitee安装 github 安装失败后尝试
wget https://gitee.com/snowrain_wjh/fabric/raw/main/install-fabric.sh && chmod +x install-fabric.sh # 下载安装脚本
./install-fabric.sh samples binary # 安装 

在这里插入图片描述
在这里插入图片描述

7. 启动test-network

Using the Fabric test network — Hyperledger Fabric Docs main documentation

# 输出脚本使用方法
./network.sh
# 启动链 第一次启动需要下载镜像,镜像下载失败需要配置网络代理或者仓库镜像
./network.sh up
# 创建频道 频道名默认为 mychannel
./network.sh createChannel
# 重启区块链 会清空区块链原有数据
./network.sh restart
# 关闭区块链 清空数据
./network.sh stop

脚本使用方法
在这里插入图片描述
切换到test-network目录
在这里插入图片描述
启动区块链
在这里插入图片描述
启动区块链成功如下图所示
在这里插入图片描述

创建频道
在这里插入图片描述
创建频道成功如下图所示,如果失败需要重新启动区块链,避免异常数据影响
在这里插入图片描述

8. golang链码部署

# 部署链码。 go版本 -ccn 链码名称 -ccp 链码路径 -ccl 链码语言
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go

在这里插入图片描述

部署链码失败,一般是链码没有被成功打包,如果组织结构过多,也有可能虚拟机内存不足,导致部署失败,下图为打包失败,需要检查打包失败原因
在这里插入图片描述

出现如下图所示情况,直接重启链码,重新创建频道,重新部署
在这里插入图片描述

部署成功如下图所示
在这里插入图片描述

9. java链码部署

# 部署链码。 java版本 -ccn 链码名称 -ccp 链码路径 -ccl 链码语言
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-java -ccl java

在这里插入图片描述

部署成功如下图
在这里插入图片描述

10. 测试链码是否部署成功

# 输出脚本使用方法
./network.sh cc -h
# invoke 对应增删改, 
./network.sh cc invoke -c mychannel -ccic '{"Args":["InitLedger"]}'
# query 对应查询
./network.sh cc query -c mychannel -ccqc '{"Args":["GetAllAssets"]}'

在这里插入图片描述
在这里插入图片描述

异常问题

docker 无权限

添加当前用户到 docker组
sudo usermod -aG docker $USER # 重新启动你的计算机或注销并重新登录,以使组更改生效
在这里插入图片描述

通过github下载fabric安装脚本失败

改为使用 gitee安装脚本

在这里插入图片描述

docker 镜像下载失败

配置docker网络代理,错误截图如下

在这里插入图片描述

jd未安装

需按照jq

sudo apt-get install jq

在这里插入图片描述

在这里插入图片描述

创建频道失败

需重新启动区块链 清楚异常数据
在这里插入图片描述

golang 下载依赖失败

配置goprxy
在这里插入图片描述

相关推荐

  1. Ubuntu2204ceph17

    2024-06-16 03:34:01       20 阅读
  2. 服务部署Ubuntu安装docker

    2024-06-16 03:34:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-16 03:34:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-16 03:34:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-16 03:34:01       82 阅读
  4. Python语言-面向对象

    2024-06-16 03:34:01       91 阅读

热门阅读

  1. 【LeetCode 12】整数转罗马数字

    2024-06-16 03:34:01       25 阅读
  2. c++处理字符串

    2024-06-16 03:34:01       32 阅读
  3. *args和**kwargs这个在python中的意思

    2024-06-16 03:34:01       29 阅读
  4. Qt事件处理和传递流程

    2024-06-16 03:34:01       29 阅读
  5. springboot事务管理的机制是什么

    2024-06-16 03:34:01       24 阅读
  6. datalist 是什么?

    2024-06-16 03:34:01       26 阅读