当前位置:网站首页>Hyperledger Fabric1.4環境搭建及示例測試
Hyperledger Fabric1.4環境搭建及示例測試
2022-04-22 08:45:00 【流螢點火】
之前搭建過Fabric1.1版本,這次搭建1.4版本同時寫了這篇博文,其中有我個人踩坑的解决方案和思考。
安裝前說明
Centos7 64比特操作系統。
需要安裝3個基本環境Docker、Docker-Compose、Go語言環境安裝,之後下載Fabric源碼,最後測試網絡
檢查服務器內核版本,要在3以上
uname -r

一.安裝Dokcer
1.删除舊Docker
如果以前安裝過docker,删除原來的
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
2.安裝軟件包
//安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
//添加docker yum 源
//方法一:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//方法二:(直接執行安裝docker命令會很慢。配置國內的源——阿裏雲的源。)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安裝docker
我使用的版本是20.10.12
yum install docker-ce-20.10.12 docker-ce-cli-20.10.12 containerd.io
4.運行docker
//設置開機自啟
systemctl start docker
docker --version //查看版本

二.安裝Docker-Compose
1.下載docker-compose到指定目錄
下載到/usr/local/bin/docker-compose目錄下。
docker compose 官方推薦的下載方式是這樣:
curl -L
“https://github.com/docker/compose/releases/download/1.24.0/docker-compose- ( u n a m e − s ) − (uname -s)- (uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
上面的方法下載太慢了,不推薦
推薦使用國內地址
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2設置docker-compose目錄的權限
chmod +x /usr/local/bin/docker-compose
3.檢查是否安裝成功
docker-compose --version

三.Go語言安裝
1.從國內站點下載安裝包,版本在1.11.x以上
wget https://studygolang.com/dl/golang/go1.12.4.linux-amd64.tar.gz

2.解壓到/usr/local/go目錄下
-C :錶示指定解壓目錄
mkdir /opt/golang
tar -zxvf go1.12.4.linux-amd64.tar.gz -C /opt/golang
在golang/下會自動創建一個go目錄,無需自己創建
3.配置環境變量
在/etc/profile文件末尾添加環境變量
mkdir /opt/gopath // 創建go工作目錄
vi /etc/profile //在文件末尾添加
export GOPATH=/opt/gopath
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH

使其立即生效
source /etc/profile
4.查看版本
go version
四.Fabric安裝
1.創建目錄並進入
mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
還需要借助git工具,因此還要下載git
yum install git
2.下載源碼
方法一:(不推薦)直接下載github上的源碼
git clone https://github.com/hyperledger/fabric.git
可能下載失敗,出現RPC failed錯誤,原因是git的curl的postBuffer默認值較小。解决方法:修改git傳輸字節限制,再重新下載
//修改git傳輸字節限制
git config –global http.postBuffer 524288000
方法二:(推薦)通過碼雲地址下載
用自己的碼雲從github賬號上導入,具體方法見:https://blog.csdn.net/weixin_44732379/article/details/108639787
這裏可以直接用我的地址,下載到完成不過一分鐘
git clone https://gitee.com/fireflies-glimmer/fabric.git

3.查看並切換當前分支,我選擇的是1.4.0版本
cd ./fabric
git branch -a
git checkout v1.4.0
五.安裝Fabric-sample示例
方法一.脚本下載
進入fabric/scripts目錄可以看到一個bootstrap.sh脚本

直接執行bootstrap.sh脚本
bash bootstrap.sh
此處執行時間比較久,中間可能會斷開,參考過其他一些文章說重新執行,親測無效,如下圖。

其實脚本幫我們幹了幾件事:
- 從 github.com 克隆 hyperledger/fabric-samples 存儲庫
- 使用 checkout 簽出對應指定的版本標簽;
- 將二進制文件(bin)和配置文件(config)安裝到 fabric-samples 存儲庫的根目錄中;
- 下載指定版本的 Hyperledger Fabric Docker 鏡像文件,將下載的 Docker 鏡像文件標記為 “lastest"。
方法二.(推薦) 手動下載
通過對脚本的分析我們可以手動下載,主要完成三個步驟
1.下載fabric-samples
與下載fabric源碼同理,這裏我使用自己的碼雲地址
git clone -b v1.4.0 https://gitee.com/fireflies-glimmer/fabric-samples.git
cd fabric-samples
git checkout v1.4.0 //切換版本
注意: fabric-samples目錄與fabric目錄同級!
2.下載二進制文件
需要下載兩個壓縮包,選擇相應版本下載,我的網盤鏈接:(永久有效)
鏈接:https://pan.baidu.com/s/1hGH7-aGkCxX8eN3WnATSiw
提取碼:xrve
壓縮文件hyperledger-fabric-linux-amd64-1.4.0.tar包含bin和 config 兩個文件夾
hyperledger-fabric-ca-linux-amd64-1.4.0.tar包含bin文件夾
將壓縮包上傳並解壓到fabric-sample目錄下
tar -zxvf hyperledger-fabric-linux-amd64-1.4.0.tar
tar -zxvf hyperledger-fabric-ca-linux-amd64-1.4.0.tar

3.下載鏡像
先配置加速鏡,不然下載很慢
# mkdir -p /etc/docker
# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8w1wqmsz.mirror.aliyuncs.com"]
}
EOF
# systemctl daemon-reload
# systemctl restart docker
將 fabric/scripts 目錄下的 bootstrap.sh 脚本,複制到fabric-sample目錄下
删除 bootstrap.sh文件中的samplesInstall 和 binariesInstall 步驟,保留鏡像下載的步驟。
執行 bootstrap.sh 脚本:
$ ./bootstrap.sh 1.4.0 1.4.0 0.4.15
下載好了會列出鏡像:

測試網絡
1.4版本的e2e案例被移除,所以測試網絡使用fabric-samples 中的 first-network
啟動網絡
cd ./fabric-samples/first-network/
./byfn.sh up


出現以上結果錶示網絡測試成功
docker ps命令可以查看到節點的啟動情况
最後別忘了關閉網絡
./byfn.sh down
參考文章:
[1]https://www.icode9.com/content-1-180278.html
[2]作者:靈·龍 https://www.cnblogs.com/llongst/p/9482038.html
[3]作者:zongmin https://blog.csdn.net/qq_34680444/article/details/87257141
版权声明
本文为[流螢點火]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204220747539747.html
边栏推荐
- Client and server project 3
- PCIe learning - how to make PCIe bus compatible with PCI bus in software (7)
- How does CSDN reprint other people's blogs
- sentinel服务监控系统搭建
- Lambda expression
- PCIe learning - Introduction to PCIe bus architecture: transaction layer - data link layer - physical layer (8)
- Client server communication project 4
- Cesium collects terrain height and model height (asynchronous method, suitable for more data)
- window如何查看端口被占用
- SQL database multiple choice question (2)
猜你喜欢

Fabric测试示例,遇到orderer Exited(x) x seconds

golang 环境搭建

How does CSDN reprint other people's blogs

Scanf / sprintf, fscanf / fprintf, sscanf / sprintf, snprintf of C language

Single page application

Level 1: node monitoring mechanism

Level 2: ACL access control list

Redis is easy to use

xfs 文件系统的备份和恢复(包含磁盘挂载)

Level 1: create / delete nodes
随机推荐
解决办法Access denied for user ‘root‘@‘localhost‘ (using password: YES)
"Unexpected" operation in SQL statement
Binary leading zero
require-dev.mikey179/vfsStream is invalid, it should not contain uppercase characters. Please use m
100. Same tree (easy)
CPU内存访问空间
CentOS MySQL installation
DTV terminology
RHEL7 配置本地yum源
elastic-job安装部署接入
Realization of floor decomposition animation in cesium
SQL 语句中 “意想不到” 的操作
Freshman advice
Level 3: node status check, data view and update
C语言之scanf/sprintf、fscanf/fprintf、sscanf/sprintf、snprintf
The pit encountered in the compilation and installation of pinpoint of win system will be shared with you
JMU enumeration weekday
Construction of sentinel service monitoring system
101. Symmetric binary tree (easy)
SQL query removes empty data and null fields