接下來講一下在本地測試區塊鏈網絡的過程。我要部署的是2peer+1orderer架構,所以需要准備三台虛擬機,為了方便起見可以先把一台配置好,然后復制出剩余兩台即可。搭建虛擬機我用的是virtualbox,系統統一用ubuntu16.04LTS,鏡像在官方下載。網絡模式用NAT就行,復制虛擬機的時候記得勾選重新初始化所有網卡的MAC地址。以下是我用到的三台主機名和IP:
| orderer.example.com | 10.0.2.10 |
| peer0.org1.example.com | 10.0.2.11 |
| peer0.org2.example.com | 10.0.2.12 |
一.安裝GO語言
下載最新版的go
wget https://storage.googleapis.com/golang/go1.8.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.8.4.linux-amd64.tar.gz
編輯當前用戶的環境變量
vi ~/.profile
添加以下內容
export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$HOME/go/bin
編輯保存並退出vi后,記得使這些環境變量生效
source ~/.profile
把go的目錄GOPATH設置為當前用戶的文件夾下,所以記得創建go文件夾
cd ~
mkdir go
這樣GO就順利安裝完畢了,有時候wget獲取go安裝包的時候會因為網絡問題失敗,也可以用apt安裝go,只不過版本是比較老舊的1.6.2,但是我在測試中也可以正常使用
sudo apt-get install golang
添加的環境變量為
export PATH=$PATH:/usr/lib/go-1.6 export GOROOT=/usr/lib/go-1.6 export GOPATH=$HOME/go export PATH=$PATH:$HOME/go/bin
二.安裝Docker
可以使用阿里提供的鏡像倉庫,執行以下命令來安裝Docker
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
安裝完成后需要修改當前用戶(我使用的用戶叫lxh)權限:
sudo usermod -aG docker fabric
通過修改daemon配置文件/etc/docker/daemon.json來使用加速器:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
有的時候在第一步中無法安裝成功,也可以使用官方提供的腳本來安裝docker
sudo curl -sSl https://get.docker.com/ | sh
安裝成功后啟動docker服務:
sudo service docker start
喜歡用DaoClound的也可以用DaoClound的鏡像,我沒有試過因此不再贅述。
三.安裝Docker-compose
Docker-compose是支持通過模板腳本批量創建Docker容器的一個組件。在安裝Docker-Compose之前,需要安裝Python-pip,運行腳本:
sudo apt-get install python-pip
然后是安裝docker-compose,我們從官方網站(https://github.com/docker/compose/releases)下載也可以從國內的進行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源碼下載
可以用go get命令下載源碼
go get github.com/hyperledger/fabric
如果下載失敗也可以使用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
五.下載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鏡像都會下載下來了。
