日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hyperledger Fabric 1.0 实战开发系列 第二课 Fabric环境搭建

發(fā)布時間:2025/3/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hyperledger Fabric 1.0 实战开发系列 第二课 Fabric环境搭建 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.安裝GO語言

下載最新版的go

打開Terminal,輸入命令(以下命令都是以root管理員的角色進行的)

su
輸入密碼:*****
wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.8.4.linux-amd64.tar.gz

編輯當(dāng)前用戶的環(huán)境變量

vi /etc/profile


添加以下內(nèi)容

export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$HOME/go/bin


編輯保存并退出vi后,記得使這些環(huán)境變量生效

source /etc/profile


把go的目錄GOPATH設(shè)置為當(dāng)前用戶的文件夾下,所以記得創(chuàng)建go文件夾

cd ~ mkdir go


有時候wget獲取go安裝包的時候會因為網(wǎng)絡(luò)問題失敗,也可以用apt安裝go,只不過版本是比較老舊的1.6.2,但是我在測試中也可以正常使用

apt-get install golang


添加的環(huán)境變量為

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

可以使用阿里提供的鏡像倉庫,執(zhí)行以下命令來安裝Docker

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -  

有的時候在第一步中無法安裝成功,也可以使用官方提供的腳本來安裝docker

curl -sSl https://get.docker.com/ | sh

安裝成功后啟動docker服務(wù):

service docker start

三.安裝Docker-compose

Docker-compose是支持通過模板腳本批量創(chuàng)建Docker容器的一個組件。在安裝Docker-Compose之前,需要安裝Python-pip,運行腳本:

apt-get install python-pip

然后是安裝docker-compose,我們從官方網(wǎng)站(https://github.com/docker/compose/releases)下載也可以從國內(nèi)的進行DaoClound下載,為了速度快接下來從DaoClound安裝Docker-compose,運行腳本:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-composemv ~/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鏡像都會下載下來了。


下載完畢后,我們運行以下命令檢查下載的鏡像列表:

docker images

得到的結(jié)果如下:


六、啟動Fabric網(wǎng)絡(luò)并完成ChainCode的測試

我們?nèi)匀煌A粼趀2e_cli文件夾,這里提供了啟動、關(guān)閉Fabric網(wǎng)絡(luò)的自動化腳本。我們要啟動Fabric網(wǎng)絡(luò),并自動運行Example02 ChainCode的測試,執(zhí)行一個命令:

bash network_setup.sh up

這個做了以下操作:

6.1編譯生成Fabric公私鑰、證書的程序,程序在目錄:fabric/release/linux-amd64/bin

6.2基于configtx.yaml生成創(chuàng)世區(qū)塊和通道相關(guān)信息,并保存在channel-artifacts文件夾。

6.3基于crypto-config.yaml生成公私鑰和證書信息,并保存在crypto-config文件夾中。

6.4基于docker-compose-cli.yaml啟動1Orderer+4Peer+1CLI的Fabric容器。

6.5在CLI啟動的時候,會運行scripts/script.sh文件,這個腳本文件包含了創(chuàng)建Channel,加入Channel,安裝Example02,運行Example02等功能。

最后運行完畢,我們可以看到這樣的界面:


如果您看到這個界面,這說明我們整個Fabric網(wǎng)絡(luò)已經(jīng)通了。

類似這樣的錯誤,是因為channel已經(jīng)建立,命名沖突

<EXACT_TIMESTAMP> UTC [msp] Sign -> DEBU 064 Sign: digest: 5ABA6805B3CDBAF16C6D0DCD6DC439F92793D55C82DB130206E35791BCF18E5FError: Got unexpected status: BAD_REQUESTUsage:peer channel create [flags]
  • 1
  • 2
  • 3
  • 4

解決辦法:移除docker,重新啟動。?
-)強制刪除全部容器 docker rm -f $(docker ps -aq)

然后重新執(zhí)行

bash network_setup.sh up

七.手動測試一下Fabric網(wǎng)絡(luò)

我們?nèi)匀皇且袁F(xiàn)在安裝好的Example02為例,在官方例子中,channel名字是mychannel,鏈碼的名字是mycc。我們首先進入CLI,我們重新打開一個命令行窗口,輸入:

docker exec -it cli bash

運行以下命令可以查詢a賬戶的余額:

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

可以看到余額是90:


然后,我們試一試把a賬戶的余額再轉(zhuǎn)20元給b賬戶,運行命令:

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","20"]}'
運行結(jié)果為:


現(xiàn)在轉(zhuǎn)賬完畢, 我們試一試再查詢一下a賬戶的余額,沒問題的話,應(yīng)該是只剩下70了。我們看看實際情況:


果然,一切正常。最后我們要關(guān)閉Fabric網(wǎng)絡(luò),首先需要運行exit命令退出cli容器。關(guān)閉Fabric的命令與啟動類似,命令為:
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli


./network_setup.sh down
現(xiàn)在我們整個Fabric的環(huán)境已經(jīng)測試完畢,恭喜,一切正常,接下來我們就是去做自己的區(qū)塊鏈的開發(fā)。

總結(jié)

以上是生活随笔為你收集整理的Hyperledger Fabric 1.0 实战开发系列 第二课 Fabric环境搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。