基于興趣,有幸接觸到區塊鏈,對區塊鏈也有一定的認識,之前搭建過Fabric1.1版本,這次搭建1.4版本并寫下了這篇博文,其中有我個人踩坑的解決方案和思考,學識尚淺,有誤的地方歡迎指正交流
目錄
- 安裝前說明
- 一.安裝Dokcer
- 1.洗掉舊Docker
- 2.安裝軟體包
- 3.運行docker
- 二.安裝Docker-Compose
- 1.下載docker-compose到指定目錄
- 2設定docker-compose目錄的權限
- 3.檢查是否安裝成功
- 三.Go語言安裝
- 1.從國內站點下載安裝包,版本在1.11.x以上
- 2.解壓到/usr/local/go目錄下
- 3.配置環境變數
- 4.查看版本
- 四.Fabric安裝
- 1.創建目錄并進入
- 2.下載原始碼
- 方法一:(==不推薦==)直接下載github上的原始碼
- 方法二:(==推薦==)通過碼云地址下載
- 3.查看并切換當前分支,我選擇的是1.4.0版本
- 五.安裝Fabbric-sample示例
- 方法一.腳本下載
- 方法二.(==推薦==) 手動下載
- 測驗網路
安裝前說明
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.安裝軟體包
//添加docker yum 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//安裝軟體包
yum install -y yum-utils device-mapper-persistent-data lvm2
3.運行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 :表示指定解壓目錄
tar -zxvf go1.12.4.linux-amd64.tar.gz -C /opt
在/opt下會自動創建一個go目錄,無需自己創建
3.配置環境變數
在/etc/profile檔案末尾添加環境變數
// 創建go作業目錄
mkdir /opt/gopath
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/firefly_ignition/fabric-samples.git

3.查看并切換當前分支,我選擇的是1.4.0版本
cd ./fabric
git branch -a
git checkout v1.4.0
五.安裝Fabbric-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-sample
與下載fabric原始碼同理,這里我使用自己的碼云地址
git clone -b v1.4.0 https://gitee.com/firefly_ignition/fabric-samples.git
cd fabric-samples
git checkout v1.4.0 //切換版本
注意: fabric-sample目錄與fabric目錄同級!
2.下載二進制檔案
需要下載兩個壓縮包,選擇相應版本下載,我的網盤鏈接:
https://pan.baidu.com/s/1xrLOnGIRUMiRVODW1WpDDQ
提取碼:j60x
壓縮檔案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://www.uj5u.com/qita/84323.html
標籤:其他
上一篇:微信小程式專案_秋泊優選49
