首页 > 系统相关 >ubuntu22.04 搭建hyperledger fabric环境

ubuntu22.04 搭建hyperledger fabric环境

时间:2023-02-24 14:44:48浏览次数:60  
标签:fabric tar ubuntu22.04 https docker com hyperledger

最近老头儿发力了催项目,但是无奈Hyperledger Fabric的项目教程在各站基本没有,从github直接copy就更下头了(导入也很麻烦,教程要么收米要么不全要么版本不匹配要么断更,因此记录一下安装+建项的一些过程。
参考笔记:https://szu_ryan.gitee.io/2021/03/16/qu-kuai-lian-bi-ji-1-fabric1.4-wan-zheng-da-jian-guo-cheng/

参考公众号:https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MjM5OTI2NDMwMg==&action=getalbum&album_id=2235755495636697089&scene=173&from_msgid=2247484856&from_itemidx=1&count=3&nolastread=1#wechat_redirect

1.4版本中文手册:https://hyperledger-fabric.readthedocs.io/zh_CN/release-1.4/

 

虚拟机             Ubuntu 22.04.2 LTS
GNOME版本   42.5
源                    https://mirrors.tuna.tsinghua.edu.cn/ubuntu
物理机             Windows 11 家庭中文版
处理器             Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz   2.59 GHz

1.简述

区块链是一个透明的,基于不可变模式的去中心化系统,核心就是一个分布式账本,记录网络上发生的所有交易。

区块链网络主要有三种类型:公共区块链、联盟区块链,以及私有区块链;最早熟知的比特币、以太坊这些数字货币其实就是属于公共区块链平台;

 Fabric 属于联盟链类型,是一个企业级的分布式账本技术平台,也是目前应用最广泛的区块链项目。

2.环境搭建

2.1安装docker&docker-composer

不再安装yum,直接使用apt安装docker

mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com"]
}
EOF
#重新加载配置信息及重启 Docker 服务
sudo systemctl daemon-reload
# 重新启动 docker
sudo systemctl restart docker

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 将可执行权限应用于该二进制文件
sudo chmod +x /usr/local/bin/docker-compose
#测试
docker-compose --version
#卸载
sudo rm /usr/local/bin/docker-compose
 

 

 

2.2安装go语言环境

安装包下载网站:https://studygolang.com

#下载
# cd /opt
# mkdir golang
# cd golang
# yum install wget
# wget https://studygolang.com/dl/golang/go1.20.1.linux-amd64.tar.gz
# tar -zxvf go1.14.3.linux-amd64.tar.gz

#配置
vi /etc/profile
#添加如下内容到/etc/profile后面
export GOPATH=/opt/gopath
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH
#生效配置文件
source /etc/profile

 

 

 

 2.3安装git

apt-get install git

 2.4安装Fabric

#在 GOPATH 目录下创建 Fabric 的文件夹
mkdir -p $GOPATH/src/github.com/hyperledger

#下载源码,这里使用国内的码云的镜像仓库
cd $GOPATH/src/github.com/hyperledger
git clone https://gitee.com/hyperledger/fabric.git

 下载报错:

error: RPC 失败。curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
error: 预期仍然需要 2338 个字节的正文
fetch-pack: unexpected disconnect while reading sideband packet
fatal: 过早的文件结束符(EOF)
fatal: fetch-pack:无效的 index-pack 输出

 因为项目过大,需要重新设置一个更大的MTU:ifconfig ens32 mtu 1400

 

 

 

#修改安装脚本
vim $GOPATH/src/github.com/hyperledger/fabric/scripts/bootstrap.sh

 ①把 https://github.com/hyperledger/fabric-samples.git 修改为 https://gitee.com/hyperledger/fabric-samples.git

②注释 pullBinaries

 

 

#执行安装脚本
./bootstrap.sh

 执行成功之后会下载一个 fabric-samples 工程和一堆fabric的docker镜像:

#下载 fabric 和 fabric-ca 编译后的压缩包,存放在 fabric/scripts/ 目录下:
由于码云镜像仓库的发布包只有源码,需要编译后的所以只能想办法去github下载。
https://github.com/hyperledger/fabric/releases/download/v2.4.7/hyperledger-fabric-linux-amd64-2.4.1.tar.gz
https://github.com/hyperledger/fabric-ca/releases/download/v1.5.5/hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz
此处版本号应与上文安装的版本一致

 

 

 

 

 

#压缩压缩包,得到 bin 与 config 两个文件夹:
tar -zxvf hyperledger-fabric-linux-amd64-2.4.7.tar.gz
tar -zxvf hyperledger-fabric-ca-linux-amd64-1.5.5.tar.gz

#执行以下命令复制 fabric-samples 目录中
cp -r bin fabric-samples/
cp -r config fabric-samples/

 

标签:fabric,tar,ubuntu22.04,https,docker,com,hyperledger
From: https://www.cnblogs.com/elegantcloud/p/17151232.html

相关文章

  • Ubuntu22.04安装Mysql配置远程连接
    安装MySQLsudoaptinstallmysql-server启动sudoservicemysqlstart查看用户密码sudocat/etc/mysql/debian.cnf使用该用户名和密码进入MySQL修改root密码......
  • ubuntu22.04LTS下编译glfw
    环境准备#预装cmakesudoaptinstallcmake#下载源码gitclonehttps://github.com/glfw/glfw.git编译#cmake初始配置,生成编译文件cdglfwcmake-S.-Bbuil......
  • Hyperledger Fabric部署与测试(Ubuntu)
    Fabric部署与测试Fabric部署与测试最正确的还是参照官方链接:HyperledgerFabric官方链接ok,接下来开始部署Fabric。(以Ubuntu为例)一、部署Fabric1.前期准备安装gits......
  • Ubuntu22.04 安装Mongodb6.X
    Ubuntu22.04安装Mongodb6.X1、Mongodb简介1.1什么是MongoDB?Mongodb是一个跨平台的面向文档的NoSQL数据库。它使用带有可选模式的类似JSON的BSON来存储数据。应用程......
  • ubuntu22.04添加开机脚本和关机脚本
    一、在目录/etc/init.d/目录下新建自己的脚本sudovi/etc/init.d/myscript1#!/bin/bash2###BEGININITINFO3#Provides:myscript4#Requ......
  • 【转载】ubuntu22.04安装gcc-8失败
    版权声明:本文为CSDN博主「Death_Note_」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Death_Note_/article/detail......
  • OpenHarmony编译固件新增支持Ubuntu22.04平台
    现在OpenHarmonymaster最新分支可以在Ubuntu22.04上编译了,之前只支持在Ubuntu20.04和18.04上编译。最近发布的Beta5以及之前的版本还不支持,需要修改源码解除ubuntu22.04......
  • Data fabric
    DataFabric——以数据为中心的企业的“必备”在过去几年中,“DataFabric”一词已成为企业数据集成和管理的代名词。分析公司Gartner将“数据编织”列为“2021年十大数据......
  • CesiumJS PrimitiveAPI 高级着色入门 - 从参数化几何与 Fabric 材质到着色器 - 下篇
    目录3.使用GLSL着色器3.1.为Fabric材质添加自定义着色代码-Fabric材质的本质3.2.社区实现案例-泛光墙体和流动线材质3.3.直接定义外观对象的两个着色器3.4.*......
  • CesiumJS PrimitiveAPI 高级着色入门 - 从参数化几何与 Fabric 材质到着色器 - 上篇
    目录0.基础0.1.坐标系基础0.2.合并批次1.参数化几何1.1.几何类清单1.2.举例1.3.纯手搓几何1.4.*子线程异步生成几何2.使用材质2.1.外观API2.2.材质API2.3.Fa......