Fabric v1.4.0單機(jī)安裝部署
一、前期準(zhǔn)備
fabric的安裝依賴于docker環(huán)境遥椿,所以前提需要安裝好docker瑞佩,同時(shí)對(duì)一些軟件的版本也做了要求如下所示,:
- curl需要最新版本,
- docker 版本17.06以上
- docker-compose1.14.0以上版本
- go 版本1.11以上版本
本文檔安裝的操作系統(tǒng)為ubuntu聂沙,如果是centos秆麸,基礎(chǔ)環(huán)境的準(zhǔn)備請(qǐng)自行切換到centos,如需視頻學(xué)習(xí)逐纬,可以參考視頻教程.
-
cURL最新版安裝
# 下載最新版的cURL并將其解壓 wgethttps://curl.haxx.se/download/curl-7.65.3.tar.xz sudo tar xzvf curl-7.63.0.tar.gz -C /home # 編譯并安裝cURL cd /home/curl-7.65.3 ./configure make sudo make install
通過運(yùn)行
curl --version
查看是否安裝成功蛔屹。 -
Docker和Docker Compose安裝
Docker
首先卸載可能存在的舊版本sudo apt-get remove docker docker-engine docker.io containerd runc sudo apt-get update sudo apt-get install apt-transport-https ca-certificates gnupg-agent software- properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
docker version查看是否成功
- Docker Compose ```bash # 下載Docker Compose二進(jìn)制文件 sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
-
Go安裝
# 下載go1.11.linux-amd64.tar.gz并將其解壓到指定目錄(此處為/usr/local) wget https://studygolang.com/dl/golang/go1.11.linux-amd64.tar.gz tar xzvf go1.11.linux-amd64.tar.gz -C /usr/local goenvset.sh文件內(nèi)容如下所示: cat >> /etc/profile << EOF export GOROOT=/usr/local/go export GOARCH=amd64 export GOOS=linux export GOPATH=/home/ubuntu/gopath export GOBIN=\$GOPATH/bin export PATH=\$GOPATH/bin:\$GOROOT/bin:\$PATH EOF # 執(zhí)行已有的goenvset.sh向/etc/profile中寫入相應(yīng)的環(huán)境變量 sudo chmod 705 goenvset.sh # 更改goenvset.sh的權(quán)限使其可執(zhí)行 sudo ./goenvset.sh # 執(zhí)行g(shù)oenvset.sh腳本 # 使環(huán)境變量生效 source /etc/profile
二、Fabric安裝
-
將fabric-samples下載到
$GOPATH/src/github.com/hyperledger
目錄中mkdir -p $GOPATH/src/github.com/hyperledger cd $GOPATH/src/github.com/hyperledger # 克隆fabric-samples項(xiàng)目并切換到v1.4tag git clone https://github.com/hyperledger/fabric-samples.git cd fabric-samples git checkout -b sample v1.4.0
-
安裝Fabric Binaries和Fabric相關(guān)的Docker鏡像
cd $GOPATH/src/github.com/hyperledger/fabric-samples/scripts # 安裝Fabric豁生、Fabric-ca以及第三方Docker鏡像(./bootstrap.sh <fabric> <fabric-ca> <thirdparty>) ./bootstrap.sh 1.4.0 1.4.0 0.4.14
值得注意的是兔毒,如果由于網(wǎng)絡(luò)問題,如果哪些包沒有下載成功的話甸箱,此時(shí)需要進(jìn)行手動(dòng)安裝育叁。安裝步驟如下:
如以下二進(jìn)制文件未下載完成則,人工執(zhí)行命令wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.4.0/hyperledger-fabric-linux-amd64-1.4.0.tar.gz wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca/linux-amd64-1.4.0/hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz tar xzvf hyperledger-fabric-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/ tar xzvf hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/ #向/etc/profile中寫入環(huán)境變量 sudo echo 'export PATH=$GOPATH/src/github.com/hyperledger/fabric-samples/bin:$PATH' >> /etc/profile #使環(huán)境變量生效 source /etc/profile
如docker相關(guān)鏡像未下載完成則執(zhí)行如下命令下載相關(guān)鏡像芍殖。
```bash
# 下載Fabric相關(guān)鏡像(fabric-peer豪嗽、fabric-orderer、fabric-ccenv豌骏、fabric-tools)龟梦,此處以fabric-peer鏡像為例,其他鏡像同理
docker pull hyperledger/fabric-peer:1.4.0
docker tag hyperledger/fabric-peer:1.4.0 hyperledger/fabric-peer:latest
# 下載Fabric第三方鏡像(fabric-couchdb窃躲、fabric-kafka计贰、fabric-zookeeper),此處以fabric-couchdb為例蒂窒,其他鏡像同理
docker pull hyperledger/fabric-couchdb:0.4.14
docker tag hyperledger/fabric-couchdb:0.4.14 hyperledger/fabric-couchdb:latest
# 下載Fabric CA鏡像
docker pull hyperledger/fabric-ca:1.4.0
docker tag hyperledger/fabric-ca:1.4.0 hyperledger/fabric-ca:latest
```
-
通過運(yùn)行
Build your first network
樣例來進(jìn)行測(cè)試躁倒、cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network # 編譯通過Golang開發(fā)的chaincode并啟動(dòng)相關(guān)的容器 ./byfn.sh up ./byfn.sh up -l node ./byfn.sh up -o kafka #停止first-network網(wǎng)絡(luò)中所有的容器,刪除crypto材料和4個(gè)artifacts(genesis.block洒琢、mychannel.block秧秉、Org1MSPanchor.tx、Org2MSPanchor.tx)以及chaincode鏡像 ./byfn.sh down
參考資料
本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布衰抑!