Linux環境下搭建fabric1.4以及官方示例運行
fabric1.4版本是支持Node.js 、 Python 以及Java開發的,但是由于本人才疏學淺,故這篇教程不會講述有關Python和Node.js的知識,
區塊鏈是一個新技術,近年也逐漸火熱起來 ;作者只是一個普普通通的大學生,利用課余時間自己研究學習的區塊鏈,這篇文章是基于我自己學習區塊鏈的經驗總結出來的,若有什么不對的地方,還望大家指正,
第一步:安裝docker
-
檢查系統內核
通常先檢查一下自己服務器的版本問題,這里建議大家使用Centos7.x的版本,最新的8.0以上的版本在下載的程序中會出現bug這里顯示一下我目前的服務器配置,最基本的學生機,1核2G,1M帶寬
用uname -a這個命令
-
安裝依賴包
嚴格來講這一步是需要卸載舊版本的,這里作為一個新的服務器來講一般是不存在docker舊版本,所以基本上是直接安裝就行
安裝依賴包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
然后是添加yum軟體源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
接著更新yum軟體源快取
sudo yum makecache fast
這時我們就可以直接安裝了
sudo yum install docker-ce
最后設定一下啟動docker
sudo systemctl enable docker
sudo systemctl start docker
可以檢查一下這個時候的docker 用docker --version這個命令
第二步:安裝docker-compose
這一步,針對于我們要搭建的fabric1.4版本來說,docker-compose的版本最好保持在1.14以上,下載的時候可能會存在網速過慢甚至斷網的情況,所以這里用這個命令,下載起來就可以快一點,
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-
uname -s-uname -m> /usr/local/bin/docker-compose
然后對下載的檔案賦予執行權限
chmod +x /usr/local/bin/docker-compose
接下來就是查看版本,確認是否安裝成功
docker-compose --version
用docker-compose --version的命令

第三步:安裝go語言配置環境
這里建議下載1.13.x及以上的go版本,太高了的也不建議,有可能會出現其他情況
- 第一步,下載壓縮包
wget https://studygolang.com/dl/golang/go1.13.5.linux-amd64.tar.gz
然后便是解壓安裝包,這里建議統一安裝到 /opt 目錄下
tar -xvf go1.11.5.linux-amd64.tar.gz -C /opt
然后在 /opt目錄下會多出一個 go的檔案夾
-
配置環境變數
這里在 /opt目錄下預先用mkdir gopath命令創建一個gopath的目錄
然后修改位于/etc/profile的組態檔vim /etc/profile
然后按住shift+g跳轉到最后一行,加入下面幾行
export GOROOT=/opt/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/opt/gopath

接著,wq保存退出,用source /etc/profile這個命令重繪一下組態檔
再用go version檢查一下

可以看到是1.13.5的版本
然后go env可以看到GOPATH是已經設定好了的,

第三步:搭建fabric1.4
由于我們這個程序需要在github上面拉取原始碼,所以我們先把git工具下載下來,
yum install git
用git version檢查一下

然后,生成目錄,這里需要用到我們上一步配置的gopath
mkdir -p $GOPATH/src/github.com/hyperledger/
cd $GOPATH/src/github.com/hyperledger/
考慮到可能會存在git緩沖區太小的問題,建議先修改一下
git config --global http.postBuffer 524288000
接著就是在hyperledger這個目錄下執行這條命令
git clone https://github.com/hyperledger/fabric.git
由于實際當中下載速度非常慢甚至會斷網,所以用一下其他的方法
git clone https://github.com.cnpmjs.org/hyperledger/fabric.git
相當于用了一個代理
拉取完畢之后,在hyperledger目錄下會多出一個fabric檔案夾
然后我們進入到這個目錄cd fabric
切換一下我們的分支,轉到1.4分支,而不是默認的master
git checkout -b release-1.4 origin/release-1.4
然后檢查一下分支
git branch
可以看到我們的版本是1.4版本

然后進入scripts目錄下,有一個bootstrap.sh的腳本
這里需要著重講一下
腳本主要是做了三件事,拉取fabric-samples這個檔案夾,第二步是下載可執行的二進制檔案來生成有關于證書的檔案,第三步是拉取鏡像;但是腳本當中的網站是需要更改的,因為有些網站官方都沒有維護了,所以我們需要自己手動下載;
最開始這里建議不要那么新,修改一下,改成1.4.6

然后注釋掉這個函式,因為這個網站已經沒有維護了

然后我們保存退出,./bootstrap.sh啟動這個腳本
整個程序由于會涉及到下載鏡像的緣故,所以可能會花費很長的時間,保證不斷網就行;若是覺得慢,可以去/etc/docker/daemon.json這個檔案里面粘貼一下,換源
{
"registry-mirrors":["https://almtd3fa.mirror.aliyuncs.com"]
}
然后重啟docker
systemctl restart docker
鏡像下載完畢是這個樣子的

我們注釋掉了下載二進制檔案那個函式,所以我們得手動去github下載兩個檔案夾,并且通過rz命令或者是xftp軟體上傳到fabric-samples檔案夾
下載hyperledger-fabric-ca-linux-amd64-1.4.6.tar.gz
下載hyperledger-fabric-linux-amd64-1.4.6.tar.gz
均在這兩個網站的最下方
也可以從我發布的資源直接下載,解壓zip之后上傳到服務器
hyperledger-fabric-ca-linux-1.4.6.tar.gz下載
hyperledger-fabric-linux-1.4.6.tar.gz下載
然后用tar -zxvf 命令解壓當前檔案夾,會多出一個bin檔案和config檔案
最后總的檔案夾看起來就是這樣

bin檔案夾和config檔案夾就是解壓之后的檔案
這個程序中,鏡像的下載未必也會完全成功,所以我們有可能也需要手動拉取一下鏡像;很多時候教程沒有下載,就需要自己手動下載,比如這里就是手動拉取1.4.6的peer鏡像
docker pull hyperledger/fabric-peer:1.4.6
然后在fabric-samples的目錄下有一個byfn.sh的腳本,我們用它來測驗環境
./byfn.sh up
啟動的時候,開始會是有一個“START”的字樣,然后經歷了一段時間,日志會列印出“END E2E”來表示整個程序已經,至此,fabric1.4就正式搭建好環境了,


若是不想讓官方示例網路占用服務器記憶體,可以在測驗結束之后關閉掉網路
.byfn.sh dowm
需要注意的是 ,在啟動的程序中,往往會出現網路測驗失敗的情況,這個時候也需要執行上面的陳述句來關閉整個網路然后重啟,然后再重新啟動網路進行測驗,因為docker容器那些是已經創建了的,必須洗掉然后重新來,
本文部分參照了以下博文
https://www.jianshu.com/p/c2d39e98e777
https://blog.csdn.net/sitebus/article/details/90349856?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/56104.html
標籤:其他
