遵循视频教程: Fabric 环境搭建,感谢 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/ 将其中的内容复制然后粘贴到 sources.list 中,然后进行更新
1sudo gedit /etc/apt/sources.list
2sudo apt update
2、安装 docker、docker-compose
1sudo apt install docker docker-compose
2sudo systemctl enable docker
3sudo 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%适用)
1sudo su
2rm -rf /usr/local/go && tar -C /usr/local -xzf go 1.20.6. Linux-amd 64.tar.gz
3gedit /etc/profile
4 export PATH=$PATH:/usr/local/go/bin
5gedit ~/.bashrc
6 source /etc/profile
4、docker 加速器
在浏览器中打开 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 根据其操作文档进行配置即可
三、安装 fabric-sample
1、手动创建脚本,安装 samples、docker
在 根目录下 建立一个新文件夹 fabric 用于存储 fabric-samples
1mkdir fabric
从网页中将 bootstrap.sh 的内容复制下来放入新建的 Fabric 文件夹下 https://github.com/hyperledger/fabric/blob/main/scripts/bootstrap.sh
1touch bootstrap.sh
2gedit bootstrap.sh
修改脚本其中的 binaries=false
1sudo chmod u+x bootstrap.sh
2./bootstrap.sh
2、安装 binaries 内容 https://github.com/hyperledger/fabric/releases/download/v2.4.1/hyperledger-fabric-linux-amd64-2.4.1.tar.gz 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 文件夹下,所以我进行解压操作如下:
1tar -xzvf hyperledger-fabric-linux-amd64-2.4.1.tar.gz -C fabric-samples
2tar -xzvf hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz -C fabric-samples
在解压完成后可以看到 fabric-samples 文件夹下有 bin 和 config 文件夹
3、配置 go 代理
1go env -w GO111MODULE=on
2go env -w GOPROXY=https://goproxy.cn,direct
四、环境测试
可以根据官方的测试文档进行测试:Using the Fabric test network — hyperledger-fabricdocs main documentation
1cd fabric-samples/test-network
2./network.sh down
3./network.sh up
同时也可以去到 fabcar 文件夹下测试是否正常
1cd fabcar
2./startFabric.sh
可能在过程中会出现这种情况:
只需要执行sudo apt install jq安装 jq 即可
再去到 fabcar 下的 go 目录执行对应脚本
1cd go
2go run fabric.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 版本的问题,执行一下这个应该就行了:
1curl -L https://github.com/docker/compose/releases/download/1.27.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
作为新手十分感谢 UP 主提供的教学,也感谢评论区提出问题并提供解决方法的大佬们(鞠躬)