相對與v0.6版原本說,1.0版本改變較大,此處很少說,只是將小白本身搭建1.0環境的過程分享給你們。但願對你們能有所幫助!
這一篇可能對前面的環境搭建會寫的有些粗略,若有疑問,可閱讀上一篇V0.6版本的環境搭建詳細步驟。html
雲服務器(CentOS7.2)
Go語言環境
docker安裝
docker-compose安裝java
保證咱們安裝的軟件包都是最新版本的;升級全部包同時也升級軟件和系統內核python
yum -y update
Go中文網:https://studygolang.com/dl
選擇Linux系統的'go1.13.5.linux-amd64.tar.gz'下載,使用Xftp上傳至/usr/local
目錄下
而後使用如下命令進行解壓:linux
tar -zxvf go1.13.5.linux-amd64.tar.gz
配置環境變量vim /etc/profile
,在文件開頭添加以下內容:git
export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$HOME/go/bin
從新加載配置文件:source /etc/profile
使用go env
命令驗證
github
yum install -y yum-utils device-mapper-persistent-data lvm2
yum list docker-ce --showduplicates | sort -r yum install docker-ce-18.03.1.ce
systemctl start docker docker version
yum install -y python-pip pip install --upgrade pip pip --version
下載docker-composegolang
curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
進入/usr/local/bin
目錄下,修改下載的文件的權限docker
chmod +x docker-compose
若是你沒有安裝git的話,先下載gitvim
yum install git
在Go的工做空間中建立fabric源碼目錄,進入建立的目錄進行下載(這一步時間較長,若是失敗能夠從新嘗試,或者能夠更換源)bash
mkdir -p /root/go/src/github.com/hyperledger/ cd /root/go/src/github.com/hyperledger/ git clone https://github.com/hyperledger/fabric.git
進入下載的fabric
目錄,而後查看咱們所在的分支,再切換到v1.0.0分支
cd /usr/local/go/src/github.com/hyperledger/fabric/ git branch git checkout v1.0.0
若是你歷來沒啓動過其餘版本的fabric網絡的話,可忽略此步驟
查看全部容器並刪除(須要保證你的docker是啓動狀態)
docker ps -a docker rm -f $(docker ps -aq)
查看全部鏡像並刪除(須要保證你的docker是啓動狀態)
docker images -a docker rmi -f $(docker images -aq)
回到咱們上上一步,此時咱們已經使用git checkout v1.0.0
切換到了v1.0.0分支,進入如下目錄,執行官方提供的批量下載鏡像的腳本便可
cd /root/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
命令查看下載的鏡像,以下圖:
使用官方提供的自動化腳本進行啓動和關閉,接下來咱們啓動官方提供的測試用例example02(注意:此時咱們還在/root/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
目錄下)
./network_setup.sh up
若是無報錯,出現如下頁面,則啓動成功;若是有報錯,則在最後,有筆者在搭建時遇到的錯誤,可進行參考。
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
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"]}'
這一部分只是記錄筆者本身在搭建過程當中遇到的錯誤,若有其餘錯誤,請自行百度。
錯誤1:
解決方案:修改/etc/resolv.conf
文件,將options
開頭的一行註釋掉,修改後的文件以下圖:
錯誤2:
解決方案:修改/root/go/src/github.com/hyperledger/fabric/examples/e2e_cli/base/
目錄下的peer-bash.yaml
文件,修更名稱爲e2e_cli_default
,修改完以下圖:
最後呢,說明一下,做者也是剛入坑的小白,這篇文章也就是記錄一下原始搭建的過程,方便之後查看。若是對你有幫助的話,很是榮幸,若是有不對的地方,歡迎留言指正!