Hyperledger Fabric 部署
- 2020 年 8 月 10 日
- 筆記
- 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 "//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
然後我們直接翻牆下載其他兩個文件注意:根據自己查看bootstrap.sh文件得到相應版本號,從而修改地址其中的版本號
//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網路所需的工具
//github.com/hyperledger/fabric/releases/download/v2.2.0/hyperledger-fabric-linux-amd64-2.0.0.tar.gz
//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=//goproxy.cn
export GOPROXY=//goproxy.cn
啟動腳本的時候出現這個畫面說明已經成功了,我們看啟動過程的時候可以看到,腳本幫我走了一個完整的流程。