本文記錄Hyperledger Fabric開發環境的準備,所用的系統是Ubuntu 16.04。
一、安裝docker
sudo apt install docker.io
可通過docker -v查看版本
二、安裝docker-compose。docker-compose是支持通過模板腳本批量創建Docker容器的一個組件。
sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
安裝成功後查看版本:docker-compose -v
三、GO語言環境安裝
wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
解壓該壓縮包到/usr/local/目錄下:
tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
接着,在你的$HOME目錄下創建go目錄,接着配置環境變量:
sudo vi ~/.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
四、獲取Fabric源碼
進入工作目錄$HOME/go
創建以下一系列文件夾:$HOME/go/src/github.com/hyperledger
創建後進入hyperledger文件夾下,執行以下指令獲取Fabric源碼:
git clone https://github.com/hyperledger/fabric.git
同時執行以下指令,獲取fabric-samples源碼,這是官方提供的例子,可以幫助我們快速創建網絡
git clone https://github.com/hyperledger/fabric-samples.git
五、下載鏡像
源碼下載完畢後,進入fabric,首先執行
git checkout release-1.0
將源代碼切換到1.0版本 ,然後進入examples/e2e_cli目錄下,從docker hub下載鏡像:
chmod +x download-dockerimages.sh
./download-dockerimages.sh
在執行第二條命令的時候,可能會報超時,此時可以創建/etc/docker/daemon.json
文件(注意:文件內容必須符合 json 規範,否則Docker無法啓動),並寫入如下內容:
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
然後重新啓動Docker服務即可正常下載:
sudo systemctl daemon-reload
sudo systemctl restart docker
下載完畢後,輸入以下命令查看下載的鏡像:
sudo docker images
結果如下:
六、編譯工具
編譯crytogen(生成相關證書)、configtxgen(生成創世區塊以及通道配置相關的內容)工具。
1、進入到$HOME/go/src/github.com/hyperledger/fabric/common/configtx/tool/configtxgen目錄下,目錄結構如下:
然後直接執行以下命令:
go install
如果出現以下錯誤:
則執行:
sudo apt install libltdl-dev
執行完該命令後再執行go install即可。
2、進入$HOME/go/src/github.com/hyperledger/fabric/common/tools/cryptogen目錄下:
執行以下命令:
go install
到此,我們的環境就準備完畢,接下來就是準備搭建fabric網絡了
參考:
https://blog.csdn.net/xxxslinyue/article/details/79396618
https://blog.csdn.net/tiandiwuya/article/details/78771475
https://www.cnblogs.com/anliven/p/6218741.html
https://www.edureka.co/community/11869/how-to-solve-ltdl-h-no-such-file-or-directory-error