1. 程式人生 > >區塊鏈學習——HyperLedger-Fabric v1.0環境搭建詳細教程

區塊鏈學習——HyperLedger-Fabric v1.0環境搭建詳細教程

相對與v0.6版本來說,1.0版本改變較大,此處不多說,只是將小白自己搭建1.0環境的過程分享給大家。希望對大家能有所幫助!
這一篇可能對前面的環境搭建會寫的有些粗略,如有疑問,可閱讀上一篇V0.6版本的環境搭建詳細步驟。

一.環境準備

雲伺服器(CentOS7.2)
Go語言環境
docker安裝
docker-compose安裝

二.環境搭建

更新yum

保證我們安裝的軟體包都是最新版本的;升級所有包同時也升級軟體和系統核心

yum -y update

安裝Go語言環境

Go中文網:https://studygolang.com/dl
選擇Linux系統的'go1.13.5.linux-amd64.tar.gz'下載,使用Xftp上傳至/usr/local

目錄下
然後使用以下命令進行解壓:

tar -zxvf go1.13.5.linux-amd64.tar.gz

配置環境變數vim /etc/profile,在檔案開頭新增如下內容:

export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go  
export GOPATH=$HOME/go  
export PATH=$PATH:$HOME/go/bin

重新載入配置檔案:source /etc/profile
使用go env命令驗證

安裝Docker

2.3.1 安裝docker所需要的依賴

yum install -y yum-utils device-mapper-persistent-data lvm2

2.3.2 檢視docker版本並安裝

yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.03.1.ce

2.3.3 啟動docker,設定開機啟動並驗證是否安裝成功

systemctl start docker
docker version

安裝docker-compose

2.4.1 安裝python-pip並進行升級,檢視版本

yum install -y python-pip
pip install --upgrade pip
pip --version


下載docker-compose

curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

進入/usr/local/bin目錄下,修改下載的檔案的許可權

chmod +x docker-compose

三.fabric原始碼以及映象下載

下載fabric原始碼

如果你沒有安裝git的話,先下載git

yum install git

在Go的工作空間中建立fabric原始碼目錄,進入建立的目錄進行下載(這一步時間較長,如果失敗可以重新嘗試,或者可以更換源)

mkdir -p /root/go/src/github.com/hyperledger/
cd /root/go/src/github.com/hyperledger/
git clone https://github.com/hyperledger/fabric.git


進入下載的fabric目錄,然後檢視我們所在的分支,再切換到v1.0.0分支

cd /usr/local/go/src/github.com/hyperledger/fabric/
git branch
git checkout v1.0.0

刪除0.6版本的容器以及映象

如果你從來沒啟動過其他版本的fabric網路的話,可忽略此步驟
檢視所有容器並刪除(需要保證你的docker是啟動狀態)

docker ps -a
docker rm -f $(docker ps -aq)

檢視所有映象並刪除(需要保證你的docker是啟動狀態)

docker images -a
docker rmi -f $(docker images -aq)

下載fabric1.0.0映象

回到我們上上一步,此時我們已經使用git checkout v1.0.0切換到了v1.0.0分支,進入以下目錄,執行官方提供的批量下載映象的指令碼即可

cd /root/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

等待下載完成後執行docker images命令檢視下載的映象,如下圖:

四.啟動與測試

啟動fabric網路

使用官方提供的自動化指令碼進行啟動和關閉,接下來我們啟動官方提供的測試用例example02(注意:此時我們還在/root/go/src/github.com/hyperledger/fabric/examples/e2e_cli/目錄下)

./network_setup.sh up

如果無報錯,出現以下頁面,則啟動成功;如果有報錯,則在最後,有筆者在搭建時遇到的錯誤,可進行參考。

測試

查詢a的餘額(-C:指定通道;-n:指定鏈碼名稱)

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

呼叫鏈碼,a給b轉賬50元(-o:指定背書節點; tls=true:開啟加密通訊;cafile:指定證書檔案的路徑)

peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","50"]}'

再一次查詢a的餘額

錯誤

這一部分只是記錄筆者自己在搭建過程中遇到的錯誤,如有其他錯誤,請自行百度。

錯誤1:


解決方案:修改/etc/resolv.conf檔案,將options開頭的一行註釋掉,修改後的檔案如下圖:

錯誤2:


解決方案:修改/root/go/src/github.com/hyperledger/fabric/examples/e2e_cli/base/目錄下的peer-bash.yaml檔案,修改名稱為e2e_cli_default,修改完如下圖:

最後呢,說明一下,作者也是剛入坑的小白,這篇文章也就是記錄一下原始搭建的過程,方便以後檢視。如果對你有幫助的話,非常榮幸,如果有不對的地方,歡迎留言指正!

參考

深藍居博