多次嘗試才正常啟動了Fabric,如遇到各種莫名錯誤,請參考如下一步步嚴格安裝,特别使用者權限需要注意。
一、安裝Ubuntu16
虛拟機或雙系統,虛拟機有 VirtualBox或者VMware,Ubuntu 16.04鏡像安裝好。 打開系統設定,選擇軟體和更新 , 然後在下載下傳自:中選擇aliyun

二、安裝基礎工具
注意操作使用者是自建使用者,不是root,特别一些指令涉及使用者目錄的地方要特别注意
首先安裝一些常用工具
sudo apt-get update
sudo apt-get install ssh
sudo apt-get install git
sudo apt-get install python-pip
go需要單獨安裝下
wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz
gedit /etc/profile
編輯全局變量環境,添加一下profile
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=/home/使用者名/go
export PATH=$PATH:/home/使用者名/go/bin
生效profile,建立go目錄
source /etc/profile
mkdir /home/使用者名/go
此時酌情重新開機下系統
三、安裝docker 基于aliyun
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安裝GPG證書
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 寫入軟體源資訊
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安裝 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
安裝docker後還需要添加使用者到docker組
sudo usermod -aG docker XXX
登出并重新登入,然後添加阿裡雲的Docker Hub鏡像: 建立docker檔案
sudo mkdir -p /etc/docker
sudo gedit /etc/docker/daemon.json
{ "registry-mirrors": [" https://obou6wyb.mirror.aliyuncs.com"] }
sudo systemctl daemon-reload
sudo systemctl restart docker
最後 docker version 看下安裝結果
四、安裝 Docker-Compose 從DaoClound
curl -L https://get.daocloud.io/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
五.Fabric源碼下載下傳
首先建好存放源碼的檔案夾(也可手動建)路徑如下:
mkdir –p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
由于我們隻是在搭建環境。不需要最新的代碼,是以隻需要切換到v1.0.0大版本就行。
cd ~/go/src/github.com/hyperledger/fabric 進入fabric目錄
git checkout v1.0.0
六. Fabric Docker鏡像的下載下傳
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
七、啟動Fabric網絡并完成ChainCode的測試
現在還停留在e2e_cli檔案中(如果沒有先進入),這裡提供了啟動、關閉Fabric網絡的自動化腳本。我們要啟動Fabric網絡,并自動運作Example02 ChainCode的測試,執行一個指令:
./network_setup.sh up
這個指令具體進行了如下操作:
- 編譯生成Fabric公私鑰、證書的程式,程式在目錄:fabric/release/linux-amd64/bin
- 基于configtx.yaml生成創世區塊和通道相關資訊,并儲存在channel-artifacts檔案夾。
- 基于crypto-config.yaml生成公私鑰和證書資訊,并儲存在crypto-config檔案夾中。
- 基于docker-compose-cli.yaml啟動1Orderer+4Peer+1CLI的Fabric容器。
- 在CLI啟動的時候,會運作scripts/script.sh檔案,這個腳本檔案包含了建立Channel,加入Channel,安裝Example02,運作Example02等功能。
出現則表示網絡運作成功,ctrl+c退出
八、手動測試Fabric網絡
這裡有官方提供的小例子,在官方例子中,channel名字是mychannel,鍊碼的名字是mycc。
首先進入CLI,然後重新打開一個指令行視窗,輸入:
docker exec -it cli bash
這時使用者為[email protected],在/opt/gopath/src/github.com/hyperledger/fabric/peer目錄下,運作以下指令可以查詢a賬戶的餘額:
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
方框内可以看見餘額為:90
下面我們可以進行轉賬操作,操作為invoke ,由a轉b 50:
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","50"]}'
現在轉賬完畢, 我們試一試再查詢一下a賬戶的餘額,重複之前的查詢指令,結果為:
結果正确,a的餘額隻有40了。
最後,我們需要關閉Fabric,這裡先使用exit指令退出cli容器。
exit
然後類似于啟動指令:
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh down
最後,我們整個Fabric的環境已經測試完畢!!
教程參考以下:
http://blog.csdn.net/so5418418/article/details/78355868
https://yq.aliyun.com/articles/110806
http://get.daocloud.io/