Ubuntu系统下配置安装区块链Hyperledger Fabric(新手小白篇)

news2024/11/30 14:50:01

有些安装过程比较简单的,不会详细赘述。主要还是集中在Hyperledger Fabric的配置上。

本篇主要介绍在Ubuntu系统上安装Hyperledger Fabric的过程。这里使用的Ubuntu:16.04 LTS。

1. Git安装

Git工具安装命令如下:

sudo apt update
sudo apt install git

可以使用如下命令检测是否安装成功。如果能返回git版本信息,则说明正确安装。

git version

2. 安装Docker和docker-compose

2.1 Docker安装

Docker工具安装命令如下:

sudo apt update
sudo apt install docker.io

同样可以使用如下命令验证是否正确安装,若能返回docker的版本信息,则说明正确安装。

docker --version

安装完成之后需要给当前用户赋docker权限。代码如下:

sudo groupadd docker #创建docker组
sudo gpasswd -a XXX docker #将目标用户XXX添加到docker组
sudo service docker restart #如有必要,重启docker服务
2.2 docker-compose安装

docker-compose的V1和V2版本的安装的方法不同,如果在后续Fabric执行sudo ./network up时遇到如下问题时则需要提升docker-compose的版本。
在这里插入图片描述
docker-compose V1版本安装
可以使用如下命令安装docker-compose V1版本, 具体如下:

sudo apt update
sudo apt install docker-compose
docker-compose --version

docker-compose V2版本安装

可以到docker-compose的github官网(https://github.com/docker/compose)下载需要的版本相应的资源:
在这里插入图片描述
然后执行如下命令:

//将该文件改名为docker-compose
mv docker-compose-linux-x86_64 docker-compose 
//添加执行权限
chmod +x docker-compose 
//移动到相应文件夹下
mv docker-compose /usr/bin/
//验证是否成功案安装
docker-compose version

3.安装Go语言环境

3.1 下载安装

Go语言的安装很简单,把安装包下载之后解压之后就可以了。为了下载方便,可以找一个国内的镜像(但是国内的镜像可以没有最新版的go语言版本)。

3.2 环境变量配置

下载解压完成之后,还需要完成环境变量的配置。Ubuntu系统上环境变量需要在/etc/profile文件设置。具体如下:
第1步:打开文件

sudo vim /etc/profile #打开文件

第2步:在文件末尾添加如下变量

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin

第3步:执行文件

source /etc/profile

执行完成后,可以检验设置的环境变量是否生效了。可以使用echo命令输出变量,若能正常输出,则说明已经生效。

echo $GOPATH

若没有生效,则需要检查文件/etc/profile是否具有执行权限(x)。

ll /etc/profile

若没有x权限,则修改文件权限,然后再重新执行一遍文件。

sudo chmod -R 777 /etc/profile

4 Hyperledger Fabric配置

现在正式进入Hyperledger Fabric环境的配置。

4.1 安装

下载Fabric源码

sudo mkdir $GOPATH/src/github.com/hyperledger/fabric
cd $GOPATH/src/github.com/hyperledger/fabric
//下载Fabric源码
git clone https://github.com/hyperledger/fabric.git

这里要说明一点,从github下载的Fabric包含所有版本。可以使用git checkout命令切换到需要的版本:

//假如需要切换到Fabric 1.2
git checkout -b v1.2.0

修改配置文件
修改fabric/scripts文件夹下的bootstrap.sh文件,将BINARIES从true变为false。
在这里插入图片描述
然后执行配置文件。

cd fabric/scripts
sudo ./bootstrap.sh

下载fabric-samples、fabric-ca文件
以前的Fabric版本在运行上述bootstrap.sh文件的时候就会自动完成fabric-samples文件的下载,但Fabric2.5版本却不行,所有需要单独下载这两个文件。

git clone https://github.com/hyperledger/fabric-samples.git

然后将fabric-samples文件放到/fabric/scripts下。
下载二进制文件
指定版本的Hyperledger Fabric特定于平台的二进制文件和配置文件安装到fabric-samples的bin和config目录中。具体步骤如下:

  • 首先从bootstrap.sh文件中找到所需下载的二进制文件的版本。
    在这里插入图片描述
    关于这两个文件网上很多资料给出的下载地址都已失效。需要在github.com里自己寻找。
  • 第一个文件可以从https://github.com/hyperledger/fabric/release在对应版本下下载第一个文件。
    在这里插入图片描述
  • 第二个文件可以直接从https://github.com/hyperledger/fabric-ca/下载。
  • 将上述两个文件放到fabric-samples文件夹下并解压。
tar -zxvf hyperledger-fabric-linux-amd64-2.3.2.tar.gz
tar -zxvf hyperledger-fabric-ca-linux-amd64-1.5.0.tar.gz

修改环境变量
打开文件/etc/profile并修改环境变量。

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

并执行上述文件。

参考资料

  1. https://blog.csdn.net/weixin_42221109/article/details/121831442
  2. https://blog.csdn.net/qq_35995514/article/details/125468792

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1095690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于主动移频法与AFD孤岛检测的单相并网逆变器matlab仿真

微❤关注“电气仔推送”获得资料(专享优惠) 仿真模型 算法介绍 (1)仿真模型由单相电网、逆变器、滤波环节、PI控制器、PWM生成器、锁相环、AFD控制器s函数、测量模块等构成; (2)采用主动移频法(AFD)进行孤岛检测; (3)相应速度…

MATLAB——径向基神经网络预测程序

欢迎关注公众号“电击小子程高兴的MATLAB小屋” %% 学习目标:径向基神经网络 %% 可以以任意精度逼近任意连续函数 clear all; close all; P1:10; T[2.523 2.434 3.356 4.115 5.834 6.967 7.098 8.315 9.387 9.928]; netnewrbe(P,T,2); %建立精确的径向基…

语料库应用入门讲座

语料库应用入门讲座 引言 主要介绍语料库的概念、功能、意义和基础的方法。主要包括: 1. 什么是语料库?语料库有什么作用? 2. 语料库的分类有哪些? 3. 语料库有什么功能? 4. 常见的语料库工具有哪些? …

Spring源码解析——Spring事务是怎么通过AOP实现的?

正文 此篇文章需要有SpringAOP基础&#xff0c;知道AOP底层原理可以更好的理解Spring的事务处理。最全面的Java面试网站 自定义标签 对于Spring中事务功能的代码分析&#xff0c;我们首先从配置文件开始人手&#xff0c;在配置文件中有这样一个配置&#xff1a;<tx:annot…

vue3-admin-plus框架

拉取 git clone https://github.com/jzfai/vue3-admin-plus.git 安装pnpm npm -g i pnpm7.9.0 node版本&#xff08;&#xff09; 使用nvm改node版本为v16.10.0 v16.10.0 先安装依赖 pnpm install esbuild0.15.18 然后再安装其他依赖 pnpm i 直接安装依赖pnpm i会报错 这个错误…

如何用精准测试来搞垮团队?

测试行业每年会冒出来一些新鲜词&#xff1a;混沌工程、精准测试、AI测试…… 这些新概念、新技术让我们感到很焦虑&#xff0c;逼着自己去学习和了解这些新玩意&#xff0c;担心哪一天被淘汰掉。 以至于给我这样的错觉&#xff0c;当「回归测试」、「精准测试」这两个词摆在一…

【Java 进阶篇】JavaScript 事件详解

在本篇博客中&#xff0c;我们将深入探讨JavaScript事件&#xff0c;这是网页交互的核心。我们将从什么是事件开始&#xff0c;然后逐步介绍事件的类型、如何注册事件、事件处理程序、事件对象以及事件冒泡等相关内容。最终&#xff0c;我们将提供大量的示例代码来帮助您更好地…

【LeetCode】每日一题两数之和寻找正序数组的中位数找出字符串中第一个匹配项的下标在排序数组中查找元素的第一个和最后一个位置

主页点击直达&#xff1a;个人主页 我的小仓库&#xff1a;代码仓库 C语言偷着笑&#xff1a;C语言专栏 数据结构挨打小记&#xff1a;初阶数据结构专栏 Linux被操作记&#xff1a;Linux专栏 LeetCode刷题掉发记&#xff1a;LeetCode刷题 算法&#xff1a;算法专栏 C头…

二、K8S之Pods

Pod 一、概念 K8S作为一个容器编排管理工具&#xff0c;它可以自动化容器部署、容器扩展、容器负载均衡等任务&#xff0c;并提供容器的自愈能力等功能。在Kubernetes中&#xff0c;Pod是最基本的调度单元&#xff0c;它是一组共享存储和网络资源的容器集合&#xff0c;通常是…

Java集合类ArrayList的应用-杨辉三角的前n行

目录 一、题目 杨辉三角 二、题解 三、代码 四、总结 一、题目 题目链接&#xff1a;https://leetcode.cn/problems/pascals-triangle/description/ 杨辉三角 题目描述&#xff1a;给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨…

充换电企业开迈斯低成本提升线上应用稳定性的最佳实践

作者&#xff1a;开迈斯新能源 开迈斯新能源科技有限公司于 2019 年 5 月 16 日成立&#xff0c;目前合资股东分别为大众汽车&#xff08;中国&#xff09;投资有限公司、中国第一汽车股份有限公司、一汽-大众汽车有限公司[增资扩股将在取得适当监督&#xff08;包括反垄断&am…

vh、vw、vmin、vmax

1、分别是什么&#xff1f; vh:指屏幕可见视窗的高&#xff0c; vw:指屏幕可见视窗的宽&#xff0c; vmin:vh和vw之间选较小的值&#xff0c; vmax:vh和vw之间选较大的值。 2、和百分比的区别 百分比时基于父元素的宽高&#xff0c;而vh\vw\vmin\vmax基于屏幕可见视图的宽…

【MySQL JDBC】使用Java连接MySQL数据库

一、什么是JDBC&#xff1f; 理解API的概念 API&#xff1a;Application Programing Interface -- 应用程序编程接口写好一个程序&#xff0c;这个程序需要给别人提供哪些功能&#xff1f;这些功能就是通过一些 函数/类 这样的方式来提供的。例如 Random、Scanner、ArrayList..…

2.Python-用Flask框架创建一个简单的Web程序

怎么安装Flask框架 在终端输入以下命令&#xff1a; pip install flask 验证flask安装&#xff1a; flask --version 编写app.py文件 app文件py如下&#xff1a; #导入flask框架中的两个模块 #Flask允许创建一个Flask应用实例&#xff0c;处理路由、请求和响应等功能 #render…

zookeeper应用场景(二)

单机环境下可以利用jvm级别的锁&#xff0c;比如synchronized、Lock等来实现锁&#xff0c;如果是多机部署就需要一个共享数据存储区域来实现分布式锁 一、分布式锁实现方式 1、基于数据库实现分布式锁 可以用数据库唯一索引来实现 2、基于redis实现分布式锁 redis实现的分…

测试除了点点点,还有哪些内容呢?

今天和一个网友讨论了一下关于互联网行业中测试的情况&#xff0c;希望能够了解现在的互联网行业主要的测试工作内容。小编根据以往的工作经历和经验情况&#xff0c;来做一个总结和整理。 1、岗位分类 现在的岗位划分主要是分为两大类&#xff1a;测试工程师 和 测试开发工程…

1、验证1101序列(Moore)

题目要求&#xff1a; 用Moore型状态机验证1101序列。 题目描述&#xff1a; 用使用状态机验证1101序列&#xff0c;注意&#xff1a;允许重复子序列。如图 端口描述&#xff1a; module moore_1101(input clk,//时钟信号input clr,//reset复位信号&#xff0c;高电平有效in…

Netty 入门 — 亘古不变的Hello World

这篇文章我们正式开始学习 Netty&#xff0c;在入门之前我们还是需要了解什么是 Netty。 什么是 Netty 为什么很多人都推崇 Java boy 去研究 Netty&#xff1f;Netty 这么高大上&#xff0c;它到底是何方神圣&#xff1f; 用官方的话说&#xff1a;Netty 是一款异步的、基于事…

【网络协议】聊聊ifconfig

我们知道在linux是ifconfig查看ip地址&#xff0c;但是ip addr也可以查看 IP 地址是一个网卡在网络世界的通讯地址&#xff0c;相当于我们现实世界的门牌号码。 从IP地址的划分来看&#xff0c;C类地址只可以容纳254个&#xff0c;而B类6W多&#xff0c;那么又没有一种折中的…

系统文件IO、文件描述符fd、重定向、文件系统、动态库和静态库

目录 C文件接口系统文件I/O系统调用和库函数文件描述符0 & 1 & 2FILE和fd的关系文件描述符的分配规则 重定向重定向的本质输出重定向输入重定向追加重定向 dup2函数 FILE理解文件系统了解磁盘的物理结构逻辑抽象文件系统文件系统的图解和解析通过文件系统来理解ls -al通…