搭建hyperledger-fabric環(huán)境,超級詳細教程,附帶可能遇到問題及解決辦法。。

搭建hyperledger-fabric環(huán)境

一、準備工作

安裝虛擬機virtualBox-導(dǎo)入ubuntu。導(dǎo)入之后會發(fā)現(xiàn)有頁面很小的情況,并且打開終端terminal(快捷鍵:Ctrl+Alt+T)無法使用復(fù)制粘貼功能。按照以下步驟更改:

設(shè)備-共享粘貼板設(shè)為雙向,拖放設(shè)為雙向-安裝增強功能-運行

打開終端

curl是利用URL語法在命令行方式下工作的開源文件傳輸工具。它被廣泛應(yīng)用在Unix、多種Linux發(fā)行版中,并且有DOS和Win32、Win64下的移植版本。作用:文件傳輸。安裝curl:

$ sudo?apt?install?curl

、安裝go語言

1. 下載

首先官網(wǎng)查看最新版本:https://golang.google.cn/dl/

目前穩(wěn)定的版本是go1.12.1,下載go:

$ wget https://storage.googleapis.com/golang/go1.12.1.linux-amd64.tar.gz

如果下載速度太慢,可以自己在官網(wǎng)下載,拖到虛擬機主頁面home,再運用下個命令解壓:

解壓:sudo tar -C /usr/local -xzf go1.12.1.linux-amd64.tar.gz

2. 配置go語言環(huán)境變量

進入.bashrc 配置環(huán)境變量,先安裝vim:

$?sudo?apt install?vim

$ sudo vim ~/.bashrc

在最后添加以下內(nèi)容:

export PATH=$PATH:/usr/local/go/bin

export GOROOT=/usr/local/go

export GOPATH=$HOME/go

export PATH=$PATH:$HOME/go/bin

注意出現(xiàn)“--插入--”時才可以寫入,右鍵直接粘貼會出現(xiàn)粘貼不全的問題,但會觸發(fā)進入可寫狀態(tài),可以把之前粘貼不全的指令刪除,重新粘貼就可以啦,粘貼完后,要按Esc退出寫入模式。

:wq 保存并退出,不要忘記打冒號~

3.載入環(huán)境變量

$ source ~/.profile

我們把go的目錄GOPATH設(shè)置在當(dāng)前用戶的文件夾下,所以記得要創(chuàng)建go文件夾

回到根目錄:cd ~

創(chuàng)建go文件夾:mkdir go

測試:go version


go環(huán)境安裝完成?。?/b>!

三、安裝docker

一開始用這個指令出現(xiàn)錯誤:

可以按照docker官網(wǎng)提示安裝:

https://docs.docker.com/install/linux/docker-ce/ubuntu/#prerequisites


1. 前期準備

(1) 更新apt包索引:$ sudo apt-get update

(2)安裝包以允許apt通過HTTPS使用存儲庫:

$?sudo?apt-get install?\

apt-transport-https?\

ca-certificates?\

curl?\

gnupg-agent?\

software-properties-common

(3) 添加Docker的官方GPG密鑰:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通過搜索指紋的最后8個字符,驗證您現(xiàn)在擁有帶指紋的密鑰 。

$ sudo apt-key fingerprint 0EBFCD88

(4) 使用以下命令設(shè)置穩(wěn)定存儲庫。

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

2. 安裝DOCKER CE

(1) 更新apt包索引。

$ sudo apt-get update

(2) 安裝最新版本的Docker CE和containerd:

$sudo apt-get install docker-ce docker-ce-cli containerd.io

通過運行hello-world 映像驗證是否正確安裝了Docker CE

$ sudo docker run hello-world

出現(xiàn)問題:

本來以為是未加入用戶組的原因,但是切換到root(ubuntu 使用 sudo su 切換)就可以了。

在Ubuntu終端輸入sudo加命令可以實現(xiàn),如果需要root則使用su,直接把$變成#.退出時按快捷鍵ctrl+D退出。

3.添加docker進用戶組。

sudo groupadd docker #添加docker用戶組

sudo gpasswd -a $USER docker #將登陸用戶加入到docker用戶組中

newgrp docker #更新用戶組

docker ps #測試docker命令是否可以使用sudo正常使用

下載node.js

$ curl -sL https://deb.nodesource.com/setup_8.x?| sudo -E bash

安裝node.js

$ sudo?apt-get install?-y nodejs

出現(xiàn)錯誤

重新試一下,就好了。

配置我們的鏡像加速器

https://cr.console.aliyun.com/cn-hangzhou/mirrors獲取你自己的加速地址

sudo mkdir -p /etc/docker

sudo vim /etc/docker/daemon.json

將以下內(nèi)容寫入文本:

{

"registry-mirrors": ["https://145hgoxo.mirror.aliyuncs.com"]

}

自己的鏡像地址,阿里云為每個人分配的地址是不一樣的??梢宰约喝ド暾?。

此步驟也可以用官網(wǎng)的指令配置鏡像加速器。

四、Docker-Compose的安裝

(1).運行以下命令下載最新版本的 docker-compose:

$ sudo?apt-get install?python-pip

官網(wǎng)查詢最新版本https://docs.docker.com/compose/install/

$ sudo curl -L?"https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname?-s)-$(uname -m)" -o?/usr/local/bin/docker-compose

出現(xiàn)問題,速度太慢

換個網(wǎng),再重新試一次,就好了。

(2)更改二進制文件的權(quán)限,使其能夠運行:

$ sudo chmod +x /usr/local/bin/docker-compose

(3) 測試安裝:

$ docker-compose --version

下面方法也是對的

Docker-compose是支持通過模板腳本批量創(chuàng)建Docker容器的一個組件。在安裝Docker-Compose之前,需要安裝Python-pip,運行腳本:

$ sudo?apt-get install?python-pip

然后是安裝docker-compose,可以從國內(nèi)的進行DaoClound下載,為了速度快接下來從DaoClound安裝Docker-compose,運行腳本:

$ curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose

$ sudo?mv?~/docker-compose /usr/local/bin/docker-compose

$ chmod?+x /usr/local/bin/docker-compose

五、Fabric源碼下載

首先建好存放源碼的文件夾(也可手動建)路徑如下:出現(xiàn)錯誤建不了,我是手動建的,按照路徑一路建文件夾,但是第二次安裝時這個指令又可以用了。

$ mkdir -p ~/go/src/github.com/hyperledger

$ cd?~/go/src/github.com/hyperledger

用git命令下載完整源碼

$ git clone https://github.com/hyperledger/fabric.git

這步很慢,出現(xiàn)錯誤,換個網(wǎng)絡(luò)就好了。

*tips* Fabric代碼一直在更新,以后如果只想下載最新的代碼,可以通過–single-branch -b master –depth 1 命令選項來只獲取master分支最新的代碼。

由于我們只是在搭建環(huán)境。不需要最新的代碼,所以只需要切換到v1.0.0大版本就行。

$ cd ~/go/src/github.com/hyperledger/fabric進入fabric目錄

$ git checkout v1.0.0

六、Fabric Docker鏡像的下載

之前我們已經(jīng)設(shè)置了Docker Hub鏡像地址,所以下載也會很快。運行指令:

$ cd ~/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

結(jié)果如下圖

七.啟動Fabric網(wǎng)絡(luò)并完成ChainCode的測試

現(xiàn)在還停留在e2e_cli文件中(如果沒有先進入),這里提供了啟動、關(guān)閉Fabric網(wǎng)絡(luò)的自動化腳本。我們要啟動Fabric網(wǎng)絡(luò),并自動運行Example02 ChainCode的測試,執(zhí)行一個命令:

$ ./network_setup.sh up

這個指令具體進行了如下操作:

編譯生成Fabric公私鑰、證書的程序,程序在目錄:fabric/release/linux-amd64/bin

基于configtx.yaml生成創(chuàng)世區(qū)塊和通道相關(guān)信息,并保存在channel-artifacts文件夾。

基于crypto-config.yaml生成公私鑰和證書信息,并保存在crypto-config文件夾中。

基于docker-compose-cli.yaml啟動1Orderer+4Peer+1CLI的Fabric容器。

在CLI啟動的時候,會運行scripts/script.sh文件,這個腳本文件包含了創(chuàng)建Channel,加入Channel,安裝Example02,運行Example02等功能。

稍等一會以后,會看見這個界面,那就恭喜啦,整個Fabric網(wǎng)絡(luò)已經(jīng)通了!

測試完,下次再測試前一定要輸入指令:

$ ./network_setup.sh down?

否則就會出錯誤。


附言:

強制中斷命令:Ctrl+C

返回主目錄:cd

退出root權(quán)限:Ctrl+D

輸入指令下載,如果遇到長時間不動,可以直接強制中斷,重新輸入執(zhí)行。


主要參考

[1]https://blog.csdn.net/so5418418/article/details/78355868 區(qū)塊鏈之Hyperledger(超級賬本)Fabric v1.0 的環(huán)境搭建(超詳細教程)

[2][http://www.cnblogs.com/studyzy/p/7437157.html]?深藍居

[3]https://www.cnblogs.com/X-knight/p/9511491.html 【推薦】 HyperLedger Fabric環(huán)境搭建、測試及注意事項 [詳盡指導(dǎo)] [親測有效]

[4]https://blog.csdn.net/diligent_lee/article/details/79098302Ubuntu16.04 安裝 Docker及 docker-compose

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容