Fabric基础环境搭建
遵循视频教程: https://www.bilibili.com/video/BV1g3411h71Z ,感谢 UP 主年青_的教学,在观看视频过程中受益良多
一、前言:
本教程是协助大家在虚拟机中搭建 Fabric 环境,参照 UP 主所给文件fabric 宝典所写,并加入了一些自己在安装过程中碰到的一些问题以及解决办法
本教程使用的系统为 Ubuntu 22.04.2 LTS,其他安装软件版本为
fabric:hyperledger-fabric-linux-amd64-2.4.1
fabric-ca:hyperledger-fabric-ca-linux-amd64-1.5.2
go:go 1.20.6.linux-amd64
二、环境准备
1、apt 换源
在浏览器中访问 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
注意把https改为http
将其中的内容复制然后粘贴到 sources.list 中,然后进行更新
sudo gedit /etc/apt/sources.list
sudo apt update
2、安装 docker、docker-compose
sudo apt install docker docker-compose
sudo systemctl enable docker
sudo usermod -a -G docker <username>/*注意此处为自己系统的用户名*/
3、安装 golang
浏览器访问 https://go.dev/doc/install ,访问速度过慢可以在本机中访问并下载,通过 Xftp 传入 Ubuntu
Xftp 与虚拟机相连的具体教学可以参考以下博客:
使用 NAT 模式并设置静态 IP 地址: https://blog.csdn.net/xzm5708796/article/details/93410325
Xftp 中设置: Xftp连接虚拟机或者服务器的使用方法-你必须会使用的文件传输工具_ISmileLi的博客-CSDN博客
记得在虚拟机中允许远程链接:xftp与xshell无法连接虚拟机的解决办法(99%适用)
sudo su
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.6.linux-amd 64.tar.gz
gedit /etc/profile
export PATH=$PATH:/usr/local/go/bin
source /etc/profile /*执行一下*/
go version /*查看是否正常运行*/
gedit ~/.bashrc
source /etc/profile
4、docker 加速器
在浏览器中打开 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
根据其操作文档进行配置即可
三、安装 fabric-sample
1、手动创建脚本,安装 samples、docker
在 根目录下 建立一个新文件夹 fabric 用于存储 fabric-samples
mkdir fabric从网页中将 bootstrap.sh 的内容复制下来放入新建的 Fabric 文件夹下 https://github.com/hyperledger/fabric/blob/main/scripts/bootstrap.sh
touch bootstrap.sh
gedit bootstrap.sh修改脚本其中的 binaries=false
sudo chmod u+x bootstrap.sh
./bootstrap.sh2、安装 binaries 内容
https://github.com/hyperledger/fabric-ca/releases/download/v1.5.2/hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz
同理,如果虚拟机中访问速度过慢可以通过 Xftp 进行传输
tar -xzvf 压缩包名 -C 目的地
具体情况请具体分析,因为我直接将压缩包放入了fabric文件夹下,所以我进行解压操作如下:
tar -xzvf hyperledger-fabric-linux-amd64-2.4.1.tar.gz -C fabric-samples
tar -xzvf hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz -C fabric-samples在解压完成后可以看到fabric-samples文件夹下有bin和config文件夹

3、配置 go 代理
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
四、环境测试
可以根据官方的测试文档进行测试:Using the Fabric test network — hyperledger-fabricdocs main documentation
cd fabric-samples/test-network
./network.sh down
./network.sh up同时也可以去到fabcar文件夹下测试是否正常
cd fabcar
./startFabric.sh可能在过程中会出现这种情况:

只需要执行
sudo apt install jq安装jq即可再去到fabcar下的go目录执行对应脚本
cd go
go run fabcar.go出现以下界面就算成功安装啦~
五、其他问题:
在评论区碰到很多老哥有一些建议和其他的一些问题,还有UP的一些回答,有解决的我就贴到这里来了
1. bootstrap.sh脚本里写的版本是会更新的,如果直接用up给的2.4.1版本二进制文件,在执行test-network时会报错 缺少二进制文件 ,所以下载二进制文件时记得更改域名地址里的版本号
2. Q:fabric-samples下没有fabcar文件夹
UP:github显示作者在3月1日移除了fabcar等示例,如果你们下载的是最新的fabric-samples就没有fabcar了。解决方案有两个:一是下载我视频中对应的版本,二是参考这个英文的最新官方教程https://hyperledger-fabric.readthedocs.io/en/release-2.5/whatis.html
不要看中文版,中文版还没更新过来
3. 执行./network.sh up出现一次“/compose-test-net.yaml is unsupported.”这个错误是docker-compose版本的问题,执行一下这个应该就行了:
curl -L https://github.com/docker/compose/releases/download/1.27.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose作为新手十分感谢UP主提供的教学,也感谢评论区提出问题并提供解决方法的大佬们(鞠躬),也希望这篇博客能帮助到大家
