虚拟机环境:ubuntu-24.04.1-desktop-amd64.iso
docker版本:24.0.7
docker-compose版本:1.29.2
go版本:go1.23.2.linux-amd64.tar.gz
docker镜像版本:
环境版本仅供参考
docker安装
docker安装参考:Prerequisites — Hyperledger Fabric Docs main documentation
使用超级用户权限安装 git、curl和 docker-compose,-y 表示自动确认所有提示
sudo apt-get install git curl docker-compose -y
启动 Docker 服务
sudo systemctl start docker
查看docker状态
sudo systemctl status docker
将指定用户添加到 Docker 组,用户可以运行 Docker 命令而无需使用 sudo
sudo usermod -a -G docker <username> #<username>替换为自己的用户名
检查已安装的 Docker 版本
docker --version
检查已安装的 Docker Compose 版本
docker-compose --version
这里我报错了
错误的具体内容是 ModuleNotFoundError: No module named 'distutils'
,表明系统缺少 Python 的 distutils
模块
distutils
包含在 Python 的标准库中,通过安装完整的 Python 解决这个问题
sudo apt-get install python3 python3-pip
再次检查版本
docker-compose --version
设置 Docker 服务为开机自启,确保每次系统启动时 Docker 都会自动运行
sudo systemctl enable docker
GO
go参考地址:Download and install - The Go Programming Language
在ubuntu浏览器中打开链接Download and install - The Go Programming Language
下载go
打开到文件所在位置
右键打开终端
切换到root下
sudo su
将文件解压到/usr/local/下,为避免冲突需要保证此目录下没有go文件夹
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz
可以看到/usr/local/下的go文件
安装 gedit
编辑器
sudo apt-get install gedit
使用gedit编辑器设置go的环境变量
gedit /etc/profile
将export PATH=$PATH:/usr/local/go/bin复制到编辑器下方,保存退出
warning不用担心,可以忽略
重新加载系统的环境变量配置文件
source /etc/profile
查看go的版本,验证是否已安装 Go
go version
为使每次打开新的终端会话时,系统范围的环境变量设置能够自动生效进行如下设置
打开编辑器
gedit ~/.bashrc
在编辑器中写入
source /etc/profile
保存退出
关闭这个窗口,再打开一个终端
sudo su
go version
图中kk用户下没有go的版本信息,root中有相关信息,下一步回到kk用户进行设置
su kk
打开编辑器
gedit ~/.bashrc
在编辑器中写入
source /etc/profile
保存退出
这时再关闭窗口,打开新终端,在kk和root下分别go version可以看到对应信息
fabric
参考地址:Install Fabric and Fabric Samples — Hyperledger Fabric Docs main documentation
在用户目录下创建文件夹go
进入go目录
cd go
获取安装脚本
curl -sSLO https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh && chmod +x install-fabric.sh
介绍:
docker
使用 Docker 下载 Fabric 容器镜像binary
下载 Fabric 二进制文件samples
将 fabric-samples github repo 克隆到当前目录
拉取 Docker 容器并克隆示例存储库
./install-fabric.sh docker samples binary
只拉取了fabric samples,二进制文件下载失败,这里我们进行手动下载解压
在ubuntu浏览器中打开
https://github.com/hyperledger/fabric/releases
下载后打开文件所在目录,右键打开终端
解压到usr/local下
sudo su
tar -xvzf hyperledger-fabric-linux-amd64-2.5.10.tar.gz -C /usr/local
docker镜像下载
试了很多镜像加速器,下载都失败了,最终使用的加速器地址:https://github.com/DaoCloud/public-image-mirror
打开编辑器
cd
gedit /etc/docker/daemon.json
文件内容:
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
保存退出后重启docker
sudo systemctl restart docker
执行一下命令拉取镜像
docker pull hyperledger/fabric-peer:2.5.9
docker pull hyperledger/fabric-orderer:2.5.9
docker pull hyperledger/fabric-tools:2.5.9
启动测试网络
参考地址:https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html
cd fabric-samples/test-network
cd test-network
./network.sh up
失败了......
找教程中......
打开文件管理器,右键打开终端
再次解压下hyperledger-fabric-linux-amd64-2.5.10.tar.gz到fabric-samples
sudo su
tar -zxvf hyperledger-fabric-linux-amd64-2.5.10.tar.gz -C /home/kk/go/fabric-samples
进入到test-network中再次尝试启动测试
创建通道
创建一个默认名称为的通道mychannel1
./network.sh createChannel
如果命令执行成功,您可以在日志中看到消息:Channel 'mychannel' joined
部署链码:
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go
到这里我们搭建好了fabric测试网络,最后通过./network.sh down命令停止测试网络
标签:fabric,sudo,测试,go,docker,Docker,hyperledger,搭建 From: https://blog.csdn.net/2302_76272747/article/details/143257586