HyperLedger Fabric 1.1 End-2-End 起步示例

1. 目標(biāo)

把 fabric 官方示例中的 e2e 跑通,跑通之后我們可以對 fabric 有一個大概的了解,也說明 fabric 基礎(chǔ)環(huán)境已經(jīng)沒問題了,便于之后的實(shí)踐。

2. 準(zhǔn)備環(huán)境

我當(dāng)前的環(huán)境:

  • centos7

  • go1.9.7 linux/amd64

  • docker 18.03.1-ce

  • docker-compose 1.22.0-rc1

  • git 1.8.3.1

3. 下載 fabric 源碼

git clone -b release-1.1 https://github.com/hyperledger/fabric.git

放到 $GOPATH/src 目錄下:

mkdir -p $GOPATH/src/github.com/hyperledger/fabric

然后把 git 下載的 fabric 目錄下的內(nèi)容全部拷貝到新建的這個目錄。

4. 下載 docker images

下載以下鏡像,并標(biāo)記為last:

docker pull hyperledger/fabric-peer:1.1.0
docker tag hyperledger/fabric-peer:1.1.0 hyperledger/fabric-peer

docker pull hyperledger/fabric-orderer:1.1.0
docker tag hyperledger/fabric-orderer:1.1.0 hyperledger/fabric-orderer

docker pull hyperledger/fabric-ca:1.1.0
docker tag hyperledger/fabric-ca:1.1.0 hyperledger/fabric-ca

docker pull hyperledger/fabric-couchdb

docker pull hyperledger/fabric-ccenv:1.1.0
docker tag hyperledger/fabric-ccenv:1.1.0 hyperledger/fabric-ccenv

docker pull hyperledger/fabric-javaenv:x86_64-1.1.0
docker tag hyperledger/fabric-javaenv:x86_64-1.1.0 hyperledger/fabric-vccenvjavaenv

docker pull hyperledger/fabric-kafka

docker pull hyperledger/fabric-zookeeper

docker pull hyperledger/fabric-tools:1.1.0
docker tag hyperledger/fabric-tools:1.1.0 hyperledger/fabric-tools

docker pull hyperledger/fabric-baseimage

docker pull hyperledger/fabric-baseos

5. 下載平臺命令文件

查看平臺信息:

echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/amd64/g')" | awk '{print tolower($0)}'

我得到的返回結(jié)果:

linux-amd64

根據(jù)得到平臺信息和版本,可以拼成下載地址:

https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/hyperledger-fabric-linux-amd64-1.1.0.tar.gz

解壓后會得到一個 bin 文件夾,其中有幾個可執(zhí)行文件(例如:configtxgen、cryptogen、orderer、peer,都是重要的命令),把bin路徑添加到 PATH 中:

# 編輯 /etc/profile,底部添加:
export PATH=/root/fabric/bin:$PATH

其中 bin 的路徑根據(jù)自己實(shí)際位置修改,然后執(zhí)行:

source /etc/profile

6. 運(yùn)行e2e

進(jìn)入e2e示例目錄:

cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/
./network_setup.sh up

遇到的問題

運(yùn)行過程中報(bào)錯:

Error: Error endorsing chaincode: rpc error: code = Unknown desc = error starting container: API error (404): {"message":"network e2ecli_default not found"}

意思是 e2ecli_default 這個 docker 網(wǎng)絡(luò)沒有。

查看:

docker network list

結(jié)果中有一個:

458ae5949f5a        e2e_cli_default     ...

查找 e2e_cli 文件夾中的所有文件,看誰在使用 e2ecli_default,在 base/peer-base.yaml 中找到了,修改為 e2e_cli_default,然后重新啟動執(zhí)行:

# 清理現(xiàn)有容器
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

# 啟動
./network_setup.sh up

這次正常執(zhí)行完成。

Snip20180726_6.png
Snip20180726_7.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容