1. 程式人生 > 實用技巧 >Hyperledger Fabric 部署

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

然後我們直接翻牆下載其他兩個檔案注意:根據自己檢視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

啟動指令碼的時候出現這個畫面說明已經成功了,我們看啟動過程的時候可以看到,指令碼幫我走了一個完整的流程。