hyperledger fabric 2.3.3 搭建教程

2023-10-26

一、hyperledger fabric 环境搭建

在项目开始,先搭建hyperledger fabric开发环境,本项目在ubuntu 20.04

1. 安装curl,Git,pip并更新

1.1 安装pip并更新

	sudo apt install python-pip
	# 直接使用pip install --upgrade pip 命令会很慢,需要换源
	# 这里直接使用-i参数,指定pip源
	pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

1.2 安装curl,Git

sudo apt install curl
sudo apt install git

2. Golang 安装配置

下载安装包(也可以自行到 studygolang.com/dl 上下载安装包)
首先安装一些必要的依赖

sudo apt install libtool libltdl-dev

下载解压

sudo wget https://studygolang.com/dl/golang/go1.15.5.linux-amd64.tar.gz
sudo tar -xzvf go1.15.5.linux-amd64.tar.gz -C /usr/local/

配置

#创建go目录
mkdir $HOME/go
#用vi打开~./bashrc,配置环境变量
vi ~/.bashrc
# 在最下方插入
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#使配置的环境变量生效
source ~/.bashrc
#检查是否配置正确
go version

go version

3. 安装Docker

首先需要安装17.06.2-ce或更高版本,建议安装最新版本的docker。 安装docker之前为确保docker版本过低,卸载以前的docker,重新安装docker

sudo apt-get remove docker docker-engine docker.io

可自行到 get.daocloud.io/ 下载Docker和Docker Compose
使用curl下载并安装脚本

curl -sSL https://get.daocloud.io/docker | sh

也可以使用apt-get下载docker

sudo apt install docker.io

(可选)如果你希望 docker daemon 在系统启动的时候会自动启动的话,使用下边的命令

sudo systemctl enable docker

设置成非root用户也能执行docker,需要将用户加入docker组(例如username用户),此步骤可能需要重启才能生效

sudo usermod -aG docker username

或者

sudo gpasswd -a ${USER} docker
sudo su
su username

Docker更换阿里镜像源,在https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors申请

cd  /etc/docker
sudo vi daemon.json

在该配置文件中加入

{
  "registry-mirrors": ["加速器地址"]
}

重启docker,查看docker信息,测试docker

sudo systemctl daemon-reload
sudo systemctl restart docker
docker info
docker run hello-world

docker

4. 安装Docker Compose

下载Docker Compose

# sudo apt remove docker-compose
sudo apt install docker-compose

配置执行权限

sudo chmod +x /usr/share/doc/docker-compose

检查是否安装成功

docker-compose -v

docker compose

5. 下载fabric和fabric-ca

hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz下载
hyperledger-fabric-linux-amd64-2.3.3.tar.gz下载

# 提供笔者github仓库
git clone https://github.com/1853582/hyperledger-fabric-2.3

获取fabric-sample源码

mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
# 获取fabric-samples源码
# 码云版本需要可以下载
#https://gitee.com/hyperledger/fabric-samples
git clone https://github.com/hyperledger/fabric-samples.git
# 进入目录,切换分支
cd fabric-samples
# 可自行选择版本
git checkout v2.3.0
#查看版本
git branch

将fabric和fabric-ca解压(解压出来的bin需要合并在一起)得到bin和config文件夹,放置到fabric-sample目录下
解压命令:tar -zxvf 压缩文件名.tar.gz

用vi打开~./bashrc

vi ~/.bashrc

增加下面的环境变量,保存退出

export PATH=$PATH:$GOPATH/src/github.com/hyperledger/fabric-samples/bin

使环境变量立即生效

source ~/.bashrc

检验环境变量是否成功

fabric-ca-client version

fabric

6. 拉取最新docker镜像(hyperledger fabric 2.x需要)

# 赋予权限
cd $GOPATH
sudo chmod -R 777 ./
# 1.停用全部运行中的容器:
docker stop `docker ps -a -q`
# 2.删除所有镜像
docker rmi -f $(docker images -qa)
# 3.拉最新版本的镜像2.3版本
docker pull hyperledger/fabric-peer:2.3
docker pull hyperledger/fabric-tools:2.3 
docker pull hyperledger/fabric-orderer:2.3
docker pull hyperledger/fabric-javaenv:2.3
docker pull hyperledger/fabric-ca:2.3
docker pull hyperledger/fabric-ccenv:2.3
docker pull hyperledger/fabric-baseos:2.3
docker pull hyperledger/fabric-zookeeper:0.4
docker pull hyperledger/fabric-kafka:0.4
docker pull hyperledger/fabric-couchdb:0.4 
docker pull hyperledger/fabric-baseimage:0.4
docker pull hyperledger/fabric-membersrvc:latest 
docker pull library/busybox:latest 
# 查看
docker images

docker images

为了方便配置Docker Compose,将所有镜像的tag都改为latest,执行如下格式的命令:
docker tag IMAGEID(镜像ID) REPOSITORY:TAG(仓库:标签)

docker tag 98fa0bfb0fd2 docker.io/hyperledger/fabric-tools:latest
docker tag a491b5ab42f6 docker.io/hyperledger/fabric-peer:latest
docker tag 9e1952b8840d docker.io/hyperledger/fabric-orderer:latest
docker tag 56fa403e02ee docker.io/hyperledger/fabric-ccenv:latest
docker tag b35a8ef578c0 docker.io/hyperledger/fabric-baseos:latest
docker tag 9d0214fb481b docker.io/hyperledger/fabric-zookeeper:latest
docker tag e94a8ade54af docker.io/hyperledger/fabric-kafka:latest
docker tag 339050a439e7 docker.io/hyperledger/fabric-couchdb:latest
docker tag 50758b890fb9 docker.io/hyperledger/fabric-baseimage:latest
docker tag b3654d32e4f9 docker.io/hyperledger/fabric-membersrvc:latest 
#注意IMAGE ID需要修改成自己的
# 标签修改完成后查看
docker images

7. 运行测试

找到test-network示例

cd $GOPATH/src/github.com/hyperledger/fabric-samples/test-network
#启动
sudo ./network.sh up
#如果启动失败可能需要先执行停止命令
#停止
sudo ./network.sh down
#启动后查看docker容器
sudo docker ps -a

测试网络

说明:遇到osnadmin: error: parsing arguments: unknown long flag ‘–channel-id’

修改:将./test-network/script/createChannel.sh第40行长标志改为osnadmin channel join --channelID

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hyperledger fabric 2.3.3 搭建教程 的相关文章

随机推荐

  • android系统删除apk的广播,研究androidapk安装卸载等产生的系统广播

    想更加清楚的了解 android 系统在安装 卸载时产生的系统广播 于是写了一个 demo 来做监听 BroadReceiver 配置如下 html 这里有一点要注意 需配置 否则收不到广播 1 当你第一次安装某个应用的时候 java 10
  • 干货

    SpringCloud的从整体架构上看 相对来说是完整的 庞大的 它不仅仅是一个基础性架构工具 它为微服务架构提供了一个 全家桶 的套餐 每一个模块关注各自的职能 并且能够很好地配合与协作 能够帮助入门者快速搭建起一套微服务架构的服务 内容
  • MyBatis之使用JSONObject代替JavaBean优雅返回多表查询结果

    项目中需要返回多个表的查询结果 比如user表中的用户信息和user个人的所在班的班级信息 目前我们有user实体类和class实体类 一般情况下如果是单表查询 比如查询user信息 那么查询的返回值就是一个user对象或一个user对象列
  • Qt_Qt报错multiple target patterns

    去看看pro文件中的路径是否有问题
  • ARM7的三级流水线过程

    看到汇编中很多关于程序返回与中断返回时处理地址都很特别 仔细想想原来是流水线作用的效果 所以 决定总结学习下ARM流水线 ARM7处理器采用3级流水线来增加处理器指令流的速度 能提供0 9MIPS MHz的指令处理速度 PS MIPS Mi
  • Android RxJava第一弹之原理详解、使用详解、常用场景(基于Rxjava2.0)

    Android RxJava第一弹之原理详解 使用详解 常用场景 基于Rxjava2 0 Android RxJava第二弹之RxJava封装库 RxJava Animation RxJava Glide Android RxJava第三弹
  • C语言数据结构复杂度

    文章目录 前言 什么是数据结构 什么是算法 算法效率 算法的复杂度 时间复杂度 时间复杂度的概念 大O的渐进表示法 常见时间复杂度计算举例 空间复杂度 常见复杂度对比 前言 从这篇博客开始为数据结构与算法的相关内容 数据结构比较难 博主建议
  • Leecode初级算法字符串——验证回文串

    给定一个字符串 验证它是否是回文串 只考虑字母和数字字符 可以忽略字母的大小写 说明 本题中 我们将空字符串定义为有效的回文串 示例 1 输入 A man a plan a canal Panama 输出 true 解释 amanaplan
  • tcp三次握手

    在TCP IP协议中 TCP协议提供可靠的连接服务 采用三次握手建立一个连接 第一次握手 建立连接时 客户端发送syn包 syn j 到服务器 并进入SYN SEND状态 等待服务器确认 第二次握手 服务器收到syn包 必须确认客户的SYN
  • Ubuntu18.04安装教程

    Ubuntu18 04安装教程 一 准备工作 1 下载 Ubuntu 镜像 2 制作U盘启动盘 3 给 Ubuntu 分配硬盘空间 二 安装 Ubuntu18 04 1 设置启动项 2 正式安装 1 选择语言 2 键盘布局 3 无线连网 4
  • Python 字典10种意想不到的用途

    Python 字典10种意想不到的用途 1 switch case语句 2 记忆化 3 稀疏矩阵 4 图表 5 状态机 6 计数频率 7 XML HTML 解析 8 配置文件 9 缓存 API 响应 10 编码和解码数据 源码 参考 Pyt
  • GIS gentools jar包使用

    package ghgf import java io File import java io IOException import java io Serializable import java net MalformedURLExce
  • 随机梯度下降求解svm(MATLAB)

    本文转载自 http blog csdn net orangehdc article details 38682501 随机梯度下降法 Stochastic Gradient Descent 求解以下的线性SVM模型 w的梯度为 传统的梯度
  • VTK学习之vtkProp

    vtkProp 渲染场景中数据的可视表达 Visible Depictions 是由vtkProp的子类负责 也就是说 数据想要进行可视化显示 需要一个转换过程 这个过程就是转换为vtkProp 这样才能进行渲染展示出来 而vtkProp子
  • 【Inception-v3模型】迁移学习 实战训练 花朵种类识别

    参考博客 TensorFlow 迁移学习 使用Inception v3 非常感谢这个博主的这篇博客 我这篇博客的框架来自于这位博主 然后我针对评论区的问题以及自己的实践增加了一些内容以及解答 github 代码 知识储备 迁移学习是将一个数
  • 虚拟化的主流技术介绍

    虚拟化 是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机 在一台计算机上同时运行多个逻辑计算机 每个逻辑计算机上可以运行不同的操作系统 并且应用程序都可以相互独立的空间内运行而互不影响 显著提高计算机的工作效率 虚拟化实现了用软件的方法重
  • 粒子系统——作业与练习

    粒子光环制作 参考 http i remember fr en 这类网站 使用粒子流编程控制制作一些效果 如 粒子光环 在本次作业中 我使用粒子系统制作了一个彩虹效果的烟花 基本步骤 首先 新建一个空对象Halo 并添加子对象 然后加入粒子
  • Science子刊:三阴性乳腺癌耐受化疗竟是可逆的

    据美国癌症协会统计 今年约有26 8万名女性被诊断患有乳腺癌 其中15 20 患有三阴性乳腺癌 TNBC TNBC患者的标准治疗方法是新辅助化疗 然后进行手术切除肿瘤 现代化疗对近一半的三阴性乳腺癌患者非常有效 然而 剩下的一半女性不会对新
  • Java入门第51课——给Cell类添加构造方法

    问题 为Cell类定义有参构造方法 并在构造方法中初始化Cell的行和列 然后创建一个坐标为 0 4 的格子 并打印信息 效果如图所示 上图中蓝色圈中的 号表示所创建的格子 方案 在方法中可以通过this关键字表示 调用该方法的那个对象 因
  • hyperledger fabric 2.3.3 搭建教程

    hyperledger fabric 2 3 3 搭建教程 一 hyperledger fabric 环境搭建 1 安装curl Git pip并更新 1 1 安装pip并更新 1 2 安装curl Git 2 Golang 安装配置 3