ubuntu22.04 搭建hyperledger fabric环境

最近老头儿发力了催项目,但是无奈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/

 

posted @ 2023-02-24 14:32  EleclouD  阅读(773)  评论(1编辑  收藏  举报