如何在谷歌云上使用Hyperledger Caliper測試區(qū)塊鏈應(yīng)用程序
測試區(qū)塊鏈應(yīng)用程序可能很麻煩,主要是因?yàn)樗鼈兎浅?fù)雜的,需要資源要求高。在云上測試區(qū)塊鏈應(yīng)用程序可以提高測試過程的效率,以及實(shí)現(xiàn)更真實(shí)的測試環(huán)境。
本文提供了有關(guān)如何在谷歌云上使用Hyperledger Caliper(提交302665)的指南,介紹了測試Hyperledger Composer應(yīng)用程序的場景,Hyperledger Composer應(yīng)用程序是一個便于Hyperledger Fabric應(yīng)用程序開發(fā)的區(qū)塊鏈框架。盡管如此,此測試過程適用于Hyperledger Caliper支持的所有區(qū)塊鏈(Hyperledger Burrow,Hyperledger Fabric,Hyperledger Iroha,Hyperledger Sawtooth等等)。
配置測試環(huán)境
1、創(chuàng)建一個私有存儲庫(例如,在Github上)。
2、將Hyperledger Caliper項(xiàng)目分叉到您的私人倉庫:
git clone --bare https://github.com/hyperledger/caliper.git
cd caliper.git
git push --mirror https://github.com/USERNAME/CALIPER-PRIVATE-REPO.git
cd 。.
rm -rf caliper.git
3、復(fù)制你個人的repo
git clone https://github.com/USERNAME/CALIPER-PRIVATE-REPO.git
4、在CALIPER-PRIVATE-REPO / packages / caliper-samples / benchmark / composer上,創(chuàng)建一個包含應(yīng)用程序名稱的文件夾,例如:我的網(wǎng)絡(luò)。
5、在my-network文件夾中,粘貼此存儲庫中的配置和測試文件的內(nèi)容。在以后的文章中,我將解釋如何編寫測試(my-network.js)和基準(zhǔn)測試配置(config.yaml)。
6、您應(yīng)該使用Composer(BNA存檔)建立一個開發(fā)的業(yè)務(wù)網(wǎng)絡(luò)。如果您尚未開發(fā)業(yè)務(wù)網(wǎng)絡(luò),仍可以將Caliper配置為測試默認(rèn)業(yè)務(wù)網(wǎng)絡(luò)。
在CALIPER-PRIVATE-REPO-justicechain / packages / caliper-samples / src / contract / composer上,創(chuàng)建一個名為my-network的文件夾。將您的業(yè)務(wù)網(wǎng)絡(luò)存檔文件(解壓縮的BNA文件)粘貼到該文件夾中。
您應(yīng)該有一個lib文件夾,一個models文件夾,以及文件package.json,permission.acl和可選的README.md文件。
請注意,在package.json上,網(wǎng)絡(luò)的名稱和版本必須與composer.json上的名稱和版本一致。示例package.json:
{
“engines”:{
“composer”:“^0.20.0”
},
“name”:“my-network”,
“version”:“0.2.6-deploy.1”,
。.. ETC
7、您必要要有文件來測試您的應(yīng)用程序。將它們推送到您的存儲庫:
git add *
git commit -m“add benchmark files”
git push origin master
谷歌云配置
1、在谷歌云上創(chuàng)建一個帳戶。新帳戶可以申請免費(fèi)試用補(bǔ)助金。創(chuàng)建項(xiàng)目,然后激活Compute Instance API。
2、在Compute Engine - 》 VM Instances中,單擊Create a new instance。
3、啟動你的實(shí)例
4、單擊Connect - SSH。
5、安裝Hyperledger Caliper的先決條件(感謝Daz Wilkin):
docker-CE
sudo apt-get update
sudo apt-get install
linux-image-extra-$(uname -r)
linux-image-extra-virtual
sudo apt-get update
sudo apt-get install
apt-transport-https
ca-certificates
curl
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
sudo usermod -aG docker $USER
sudo systemctl enable docker
docker --version
docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1
/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Golang (opTIonal)
VERSION=1.9.1
OS=linux
ARCH=amd64
sudo curl
--locaTIon https://golang.org/dl/go$VERSION.$OS-$ARCH.tar.gz
--output go$VERSION.$OS-$ARCH.tar.gz
sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
6、使用Caliper和您的區(qū)塊鏈應(yīng)用程序?qū)⒛乃饺舜鎯炜寺〉侥腉oogle Compute實(shí)例。
測試您的應(yīng)用程序
要運(yùn)行基準(zhǔn)測試,請導(dǎo)航到caliper / packages / caliper-samples。
要使用CouchDB運(yùn)行來測試您的應(yīng)用程序:
caliper基準(zhǔn)測試運(yùn)行-w 。/ -c benchmark / composer / jusTIce / config.yaml -n benchmark / composer / justice / composer.json
要使用LevelDB運(yùn)行來測試您的應(yīng)用程序:
測徑器基準(zhǔn)運(yùn)行-w./-c benchmark/composer/justice/config.yaml-n benchmark/composer/justice/composer-level.json
基準(zhǔn)測試的結(jié)果將在終端上報告。