安裝 ssh
sudo apt-get updatesudo apt-get install ssh
安裝 Go
- 下載
Go源碼下載 選擇對應的平臺下載。
- 準備
在下載的位置打開 terminal 。
- 安裝
sudo tar -zxvf goxxxxx.tar.gz -C /usr/local, 建議 /usr/local 位置安裝。
- 配置
sudo gedit /etc/profile, 追加以下配置到環(huán)境變量。
export GOROOT=/usr/local/go
export GOPATH=~/code/go
save and exit.
- 測試
source /etc/profile 立即適應新環(huán)境
輸入 go version,成功查看版本信息雜表示配置成功。
安裝 Docker-CE
- 前置工作
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-get update
- 安裝 Docker
sudo apt-get install docker-ce
- 將當前用戶添加到 Docker Group(支持不使用 sudo 執(zhí)行 docker 命令)
sudo usermod -aG docker bey
- 測試
docker run hello-world,正確輸出結果如下:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
安裝 Docker-Compose
- 下載最先版本的 Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/1.24.0-rc1/docker-compose-uname -s-uname -m-o /usr/local/bin/docker-compose
- 給二進制文件添加執(zhí)行權
sudo chmod +x /usr/local/bin/docker-compose
- 查看版本
docker-compose -v
下載 fabric 及其鏡像
go get
- 可以的話,直接 go get 獲取
go get github.com/hyperledger/fabric,如果 go get 命令無法執(zhí)行,再試試 Git
git clone
創(chuàng)建目錄
mkdir -p $GOPATH/src/github.com/hyperledger/,進入目錄cd $GOPATH/src/github.com/hyperledger/克隆 fabric
git clone https://github.com/hyperledger/fabric.git,下載完成后,進入 fabric 文件夾切換 1.4 版本(可選)
git checkout v1.4.0
快速部署網(wǎng)絡
cd $GOPATH/src/github.com/hyperledger/fabric/scripts
./bootstrap.sh
該腳本運行時間較長,主要是在下載 fabrice 各個組件的 docker 鏡像
將二進制文件復制到 usr/local/bin 目錄
cd $GOPATH/src/github.com/hyperledger/fabric/scripts/fabric-samples/bin
sudo cp -r . /usr/local/bin
這樣就可以到處使用這些可執(zhí)行二進制文件了。
測試
cd $GOPATH/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network
./byfn.sh down
./byfn.sh up
看到如下信息表示部署成功,恭喜!
========= All GOOD, BYFN execution completed ===========
_____ _ _ ____
| ____| | \ | | | _ \
| _| | \| | | | | |
| |___ | |\ | | |_| |
|_____| |_| \_| |____/
解釋 bootstrap.sh
打開 bootstrap.sh 文件 大致查看以下內(nèi)容
dockerFabricPull: 下載 fabric-peer fabric-orderer fabric-ccenv fabric-javaenv fabric-tools 鏡像dockerThirdPartyImagesPull: 下載 couchdb kafka zookeeper 鏡像dockerCaPull: 下載 fabric-ca 鏡像samplesInstall: git clone -b master https://github.com/hyperledger/fabric-samples.gitbinariesInstall: 安裝 hyperledger-fabric hyperledger-fabric-ca 二進制
總結:
if [ "$SAMPLES" == "true" ]; then
echo
echo "Installing hyperledger/fabric-samples repo"
echo
samplesInstall
fi
if [ "$BINARIES" == "true" ]; then
echo
echo "Installing Hyperledger Fabric binaries"
echo
binariesInstall
fi
if [ "$DOCKER" == "true" ]; then
echo
echo "Installing Hyperledger Fabric docker images"
echo
dockerInstall
fi
1. 安裝 hyplerledger fabric-sample
2. 安裝 hyplerledger fabric binaries
| 文件 | 介紹 | 類型 | 依賴 |
|---|---|---|---|
| peer | 賬本(對等)節(jié)點程序,負責維護賬本數(shù)據(jù),執(zhí)行鏈碼 | 服務 | core.yaml |
| orderer | 共識服務程序,負責打包交易,使用通道訂閱給其他賬本節(jié)點 | 服務 | orderer.yaml |
| cryptogen | 生成 x509標準的證書以及密鑰 | 工具 | crypto-config.yaml |
| configtxgen | 生成共識服務啟動以及通道創(chuàng)建所需配置數(shù)據(jù) | 工具 | configtx.yaml |
| configtxlator | 用來將通道配置信息轉換為可讀形式 | 工具 | |
| discover | fabric discovery 服務的命令行客戶端 | 服務 | |
| fabric-ca-client | hyperledger fabric 證書認證客戶端 | 工具 | |
| idemixgen | Hyperledger Fabric 生成關鍵材料時被用于身份混淆MSP的工具 | 工具 |
3. 安裝 hyplerledger fabric docker images
打開 fabric-samples/bin/get-docker-images.sh 可以發(fā)現(xiàn),總共下載的鏡像包括如下:
| 鏡像 | 介紹 |
|---|---|
| fabric-peer | 賬本(對等)節(jié)點的鏡像 |
| fabric-orderer | 共識服務節(jié)點的鏡像 |
| fabric-ccenv | 鏈碼環(huán)境鏡像 |
| fabric-tools | 工具庫鏡像 |
| fabric-kafka | 分布式消息隊列鏡像 |
| fabric-zookeeper | 分布式協(xié)調(diào)服務鏡像 |
| fabric-couchdb | 狀態(tài)存儲庫鏡像 |
| fabric-baseos |