Ubuntu 18.04下 Hyperledger Fabric 1.0 的搭建

請大家按照步驟進行,避免不必要的錯誤。

1.查看 apt source

sudo vi /etc/apt/sources.list

如果看到是http://cn.xxxxx之類的,那麼就不用換的。但是如果其中是http://us.xxxxxx之類的,那麼就是外國的。需要更換源,通過以下命令進行批量更換。

:%s/us./cn./g

更換完成後輸入 :wq 保存退出。
之後更新源。

sudo apt-get update

然後安裝ssh

sudo apt-get install ssh

2.安裝GO語言

下載安裝最新的go

下載、安裝

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

如果出現443連接錯誤,可採用以下方法。
進入 https://golang.org/dl/ 選擇最新的Linux版本下載到本地文件夾

在這裏插入圖片描述
下載之後,進入下載目錄,輸入以下命令進行解壓安裝,(我的目錄名爲:下載)

cd 下載
tar -zxvf go1.11.linux-amd64.tar.gz -C /usr/local

需要注意:下載的go版本不同,需要更改版本號
安裝完成後,可以進入 /usr/local 下看到go文件夾。

配置環境變量

編輯當前用戶的環境變量,可以使用vi編輯器或gedit命令。

sudo gedit ~/.profile

在文件的末尾加入以下內容

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

編輯保存退出後,執行以下命令使得環境變量生效

source ~/.profile

輸入命令查看GO版本

go version

把go的目錄GOPATH設置爲當前用戶的文件夾下,所以記得創建go文件夾

cd ~
mkdir go 

3.安裝Docker

需要提前準備安裝curl,命令如下

sudo apt-get install curl

1.安裝Docker

安裝Docker也會遇到外國網絡慢的問題,幸好國內有很好的鏡像,推薦DaoClound,安裝Docker的命令是:

sudo curl -sSL https://get.daocloud.io/docker | sh

如果安裝失敗,可嘗試下面的命令

 sudo curl -sSl https://get.docker.com/ | sh 

安裝完成後,運行以下腳本將當前用戶添加到Docker的組中

sudo usermod -aG docker XXX (XXX是當前用戶名)

重新登錄當前用戶(註銷),接下來修改 Docker 服務配置

可以使用vi編輯器或gedit命令。

sudo gedit /etc/default/docker

添加以下內容

DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --api-cors-header='*'"

2.設置國內的Docker鏡像地址

接下來就需要設置國內的Docker鏡像地址,需要註冊一個賬號,然後在加速器頁面提供了設置Docker鏡像的腳本,加速器頁面是:
https://www.daocloud.io/mirror
我提供的腳本是:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

重啓Docker

sudo service docker restart

4.安裝Docker-compose

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

sudo apt-get install python-pip

安裝完成後,接下來從DaoClound安裝Docker-compose,運行腳本:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.10.1/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose

5. Fabric源碼下載

使用git拉取文件更方便些,提前安裝git

1.安裝git

安裝命令如下

sudo apt-get install git  

2.使用git命令下載源碼

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

由於Fabric一直在更新,所有我們並不需要最新最新的源碼,需要切換到v1.0.0版本的源碼即可:

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0 

在這裏插入圖片描述

5.下載Fabric鏡像

官方文件提供了批量下載的腳本。我們直接運行:

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

所有會用到的Fabric docker鏡像都會下載下來了。

下載完畢後,我們運行以下命令檢查下載的鏡像列表:

docker images

在這裏插入圖片描述

6.啓動Fabric網絡並完成ChainCode的測試

此時我們仍然停留在e2e_cli文件夾,
在這裏插入圖片描述
這裏提供了啓動、關閉Fabric網絡的自動化腳本。我們要啓動Fabric網絡,並自動運行Example02 ChainCode的測試,執行一個命令:

bash network_setup.sh up 

在這裏插入圖片描述

最後運行完畢,我們可以看到這樣的界面
在這裏插入圖片描述

7.手動測試一下Fabric網絡

我們仍然是以現在安裝好的Example02爲例,在官方例子中,channel名字是mychannel,鏈碼的名字是mycc。我們首先進入CLI,我們重新打開一個命令行窗口,輸入:

docker exec -it cli bash

運行以下命令可以查詢a賬戶的餘額

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

運行結果爲:
在這裏插入圖片描述

然後,我們試一試把a賬戶的餘額再轉10元給b賬戶,運行命令:

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","10"]}'

運行結果爲:
在這裏插入圖片描述

轉賬完畢, 再查詢一下a賬戶的餘額,是否爲80
在這裏插入圖片描述
最後我們要關閉Fabric網絡,首先需要運行exit命令退出cli容器。關閉Fabric的命令與啓動類似,命令爲:

exit
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh down

整個Fabric的環境已經測試完畢,一切正常。接下來就是去做自己的區塊鏈的開發。


8.參考文章

1、Hyperledger Fabric 1.0 實戰開發系列 第二課 Fabric環境搭建
https://blog.csdn.net/tiandiw...
2、在Ubuntu中部署並測試Fabric 1.0 Beta
http://www.cnblogs.com/studyz...

9.道謝

很高心終於配置成功,從菜鳥開始學習,感謝一生中所愛深藍兩位博主的貢獻,也請希望大家能夠通過我的博客學習,如有不足,請留言或者私信、

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章