Hyperledger Fabric 自动部署【区块链学习二】
Hyperledger Fabric 部署
Hyperledger Fabric需要使用Docker、Go环境。
Docker环境安装#
Docker环境安装 直接查看这一篇,安装好之后将当前用户非root添加到Docker用户组中
#创建docker用户组
sudo groupadd docker
#将当前用户添加到docker用户组
sudo usermod -aG docker cigod
Go环境安装#
我们直接在GO官网下载安装包上传到服务器中,然后解压文件配置一下环境变量。
# 解压go文件
tar zxvf go*.tar.gz
# 移动go文件目录
mv go/ /usr/local/
配置环境变量
# 编辑环境配置
vim /etc/profile
#GOROOT 路径是软件安装路径
export GOROOT=/usr/local/go
#GOPATH 路径是平时我们的工作路径,go项目放置在这个目录下
export GOPATH=$HOME/go
#添加到环境变量
export PATH=$PATH:$GOPATH/bin
#退出编辑之后重启一下配置文件
. /etc/profile
#查看go版本
go version
Fabric的环境搭建#
我们可以使用git拉取代码或者直接在Github下载文件
# 进入当前用户文件夹
cd $HOME
#创建文件夹
mkdir -p go/src/github.com/hyperledger/
#进入创建的文件夹
cd go/src/github.com/hyperledger/
#Github拉取代码
git clone "https://github.com/hyperledger/fabric.git"
#进入项目
cd fabric/
#因为Fabric有很多版本这里我们使用2.0版本,切换一下版本
git checkout release-2.0
#进入scripts下载必备的文件
cd scripts/
#执行这个脚本之后就会自动下载我们需要的文件和Docker镜像
#但是会很慢我的服务器下了一天还失败了
sudo ./bootstrap.sh
补救措施#
因为自己一直失败硬着头皮上,我先下载了这个脚本文件看里面具体是做什么东西的,就是下载对应版本的文件和Docker镜像。卡主要就是卡在了下载文件。
#该命令会下载所需的 docker 镜像
./bootstrap.sh -s -b
然后我们直接FQ下载其他两个文件注意:根据自己查看bootstrap.sh文件得到相应版本号,从而修改地址其中的版本号
https://github.com/hyperledger/fabric-samples/archive/v2.0.0.zip
上面fabric-samples下载之后放入/root/go/src/github.com/hyperledger/fabric/scripts中
#修改fabric-samples文件名
mv fabric-samples-2.0.0 fabric-samples
当下面两个文件下载完之后放入上面fabric-samples目录中进行解压,会生成bin目录下面存放的都是一些生成fabric网络所需的工具
https://github.com/hyperledger/fabric/releases/download/v2.2.0/hyperledger-fabric-linux-amd64-2.0.0.tar.gz
https://github.com/hyperledger/fabric-ca/releases/download/v1.4.7/hyperledger-fabric-ca-linux-amd64-1.4.4.tar.gz
运行Fabric环境#
#进入first-network文件夹
cd ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network/
#执行命令 这个脚本主要是启动Docker容器镜像,部署通道、节点、证书、链码
./byfn.sh up
#执行命令 网络全部关闭
./byfn.sh down
这里启动的时候可能会遇到一个错误,主要是因为Go依赖包下载不了的问题#
部署Hyperledger Fabric报错Error: error getting chaincode bytes: failed to calculate dependencies: incomplete package: github.com/hyperledger/fabric-chaincode-go/shim
#go env
#替换依赖包下载地址
go env -w GOPROXY=https://goproxy.cn
export GOPROXY=https://goproxy.cn
作者:匿名
出处:https://www.cnblogs.com/chenxi001/p/13472111.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架