如何在谷歌云上使用Hyperledger Caliper測試區(qū)塊鏈應用程序
測試區(qū)塊鏈應用程序可能很麻煩,主要是因為它們非常復雜的,需要資源要求高。在云上測試區(qū)塊鏈應用程序可以提高測試過程的效率,以及實現更真實的測試環(huán)境。
本文提供了有關如何在谷歌云上使用Hyperledger Caliper(提交302665)的指南,介紹了測試Hyperledger Composer應用程序的場景,Hyperledger Composer應用程序是一個便于Hyperledger Fabric應用程序開發(fā)的區(qū)塊鏈框架。盡管如此,此測試過程適用于Hyperledger Caliper支持的所有區(qū)塊鏈(Hyperledger Burrow,Hyperledger Fabric,Hyperledger Iroha,Hyperledger Sawtooth等等)。
配置測試環(huán)境
1、創(chuàng)建一個私有存儲庫(例如,在Github上)。
2、將Hyperledger Caliper項目分叉到您的私人倉庫:
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、復制你個人的repo
git clone https://github.com/USERNAME/CALIPER-PRIVATE-REPO.git
4、在CALIPER-PRIVATE-REPO / packages / caliper-samples / benchmark / composer上,創(chuàng)建一個包含應用程序名稱的文件夾,例如:我的網絡。
5、在my-network文件夾中,粘貼此存儲庫中的配置和測試文件的內容。在以后的文章中,我將解釋如何編寫測試(my-network.js)和基準測試配置(config.yaml)。
6、您應該使用Composer(BNA存檔)建立一個開發(fā)的業(yè)務網絡。如果您尚未開發(fā)業(yè)務網絡,仍可以將Caliper配置為測試默認業(yè)務網絡。
在CALIPER-PRIVATE-REPO-justicechain / packages / caliper-samples / src / contract / composer上,創(chuàng)建一個名為my-network的文件夾。將您的業(yè)務網絡存檔文件(解壓縮的BNA文件)粘貼到該文件夾中。
您應該有一個lib文件夾,一個models文件夾,以及文件package.json,permission.acl和可選的README.md文件。
請注意,在package.json上,網絡的名稱和版本必須與composer.json上的名稱和版本一致。示例package.json:
{
“engines”:{
“composer”:“^0.20.0”
},
“name”:“my-network”,
“version”:“0.2.6-deploy.1”,
。.. ETC
7、您必要要有文件來測試您的應用程序。將它們推送到您的存儲庫:
git add *
git commit -m“add benchmark files”
git push origin master
谷歌云配置
1、在谷歌云上創(chuàng)建一個帳戶。新帳戶可以申請免費試用補助金。創(chuàng)建項目,然后激活Compute Instance API。
2、在Compute Engine - 》 VM Instances中,單擊Create a new instance。
3、啟動你的實例
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ū)塊鏈應用程序將您的私人存儲庫克隆到您的Google Compute實例。
測試您的應用程序
要運行基準測試,請導航到caliper / packages / caliper-samples。
要使用CouchDB運行來測試您的應用程序:
caliper基準測試運行-w 。/ -c benchmark / composer / jusTIce / config.yaml -n benchmark / composer / justice / composer.json
要使用LevelDB運行來測試您的應用程序:
測徑器基準運行-w./-c benchmark/composer/justice/config.yaml-n benchmark/composer/justice/composer-level.json
基準測試的結果將在終端上報告。