DEV Community

Rümeysa Öz
Rümeysa Öz

Posted on • Edited on

Hyperledger Caliper Kurulumu - Test Network

Ön Gereksinimlerin Kurulumu

1. İlk olarak docker ve docker-compose kurulu olmalıdır. Bunun için şu dökümanı takip edilebilir.

2. İkinci olarak da npm kurulu olmalıdır. (npm version: 6.14.16)

  • Öncelikle, aşağıdaki komut ile mevcut Node modüllerini temizleyin.
sudo rm -rf node_modules
Enter fullscreen mode Exit fullscreen mode
  • Daha sonra aşağıdaki komutu kullanarak NVM'yi kurun.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Enter fullscreen mode Exit fullscreen mode
  • NVM ortam değişkenlerini aşağıdaki komut ile tanımlayın.
export NVM_DIR="$HOME/.nvm"
Enter fullscreen mode Exit fullscreen mode
  • NVM'i yüklemek için komutlarını çalıştırın.
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" ve bash completion için [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Enter fullscreen mode Exit fullscreen mode
  • .bashrc dosyasını source ~/.bashrc komutuyla yeniden yükleyin.
source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode
nvm install 14.19.0
Enter fullscreen mode Exit fullscreen mode

ve

nvm use 14.19.0
Enter fullscreen mode Exit fullscreen mode

ile Node.js kurun ve kullanın.

  • Node.js versiyonunu
node -v
Enter fullscreen mode Exit fullscreen mode
  • NPM versiyonunu
npm -v
Enter fullscreen mode Exit fullscreen mode

ile doğrulayın.

Caliper Benchmarks Kurulumu

Hyperledger Caliper-Benchmarks Reposunun Klonlanması:

  • İlk adımımız, Hyperledger Caliper için benchmark testleri içeren reposunu klonlamak. Bunun için aşağıdaki komutu kullanın:
git clone https://github.com/hyperledger/caliper-benchmarks
cd caliper-benchmarks
Enter fullscreen mode Exit fullscreen mode

Bu komut, Caliper benchmark testleri için gerekli dosyaları içeren bir klasör oluşturur. Bu klasörü, daha önce oluşturduğunuz dizinde yer alacak şekilde ayarlayın.

Fabric Örneklerini ve Test Ağını Kullanmak:

  • Örnekleri indirmek için iki yol bulunmaktadır: doğrudan Git kullanarak ya da zip olarak indirme. Git ile indirmek için aşağıdaki komutu kullanabilirsiniz:
git clone https://github.com/hyperledger/fabric-samples
Enter fullscreen mode Exit fullscreen mode

Hyperledger Fabric 2.4 sürümünü kurmak için, aşağıdaki adımları izleyin:

  • İlk olarak, kurulum betiğini indirin:
cd fabric-samples
wget https://raw.githubusercontent.com/hyperledger/fabric/release-2.4/scripts/bootstrap.sh
Enter fullscreen mode Exit fullscreen mode
  • Ardından, indirdiğiniz betiği çalıştırarak Fabric ağınızı hazırlayın:
sudo bash bootstrap.sh
source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

Bu adımlar, Hyperledger Fabric'ın temel bileşenlerini ve gereksinimlerini kurar ve ağınızın arka planda hazırlanmasını sağlar.

  • fabric-samples klasörü içerisindeki test-network dizinine gidiniz:
cd test-network
Enter fullscreen mode Exit fullscreen mode
  • Fabric ağınızda, 'mychannel' adında bir kanal oluşturmak için şu adımları takip edin:
sudo ./network.sh up createChannel -s couchdb
Enter fullscreen mode Exit fullscreen mode

Bu komut, ağınızda belirli bir kanal oluşturmanıza ve CouchDB gibi veritabanı çözümlerini entegre etmenize olanak tanır.

  • Bu komut, Hyperledger Fabric ağınızı başlatır. İşlemlerinizi tamamladıktan sonra ağı kapatmak için aşağıdaki komutu kullanmalısınız:
sudo ./network.sh down
Enter fullscreen mode Exit fullscreen mode

Caliper-Benchmarks Dizinine Geçiş ve Gerekli Kurulumlar:

  • Klonlama işleminden sonra, Caliper-Benchmarks dizinine geçiş yapın ve gerekli npm paketlerini yükleyin:
cd caliper-benchmarks
npm install --only=prod @hyperledger/caliper-cli@0.5.0 --unsafe-perm=true
Enter fullscreen mode Exit fullscreen mode

Bu adım, Caliper CLI'nin belirli bir versiyonunu ve gerekli bağımlılıkları kurar.

Fabric 2.4 ile Bağlama İşlemi:

  • Fabric 2.4 sürümü ile Caliper'ı bağlamak için aşağıdaki komutu kullanın:
npx caliper bind --caliper-bind-sut fabric:2.4
Enter fullscreen mode Exit fullscreen mode

Bu işlem, Fabric 2.4 ile uyumlu olacak şekilde Caliper'ı yapılandırır ve yeni eklenen peer-gateway servisini kullanabilir hale getirir.

Go Kurulumu

  • İlk olarak, Go'nun resmi web sitesinden golang.org/dl üzerinden Go'nun son sürümünü indirin. Örneğin, go1.17.linux-amd64.tar.gz dosyasını indirin.

  • Terminali açın ve aşağıdaki komutlarla Go'yu indirip çıkarın:

wget https://golang.org/dl/go1.17.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.17.linux-amd64.tar.gz
Enter fullscreen mode Exit fullscreen mode

GOROOT, Go'nun kurulu olduğu dizindir ve bu örnekte /usr/local/go olarak belirlenmiştir. GOPATH, Go projelerinizin ve bağımlılıklarının saklandığı yerdir ve bu örnekte /home/ubuntu/go olarak ayarlanacaktır.

  • Bu değişkenleri ayarlamak için .profile dosyanızı düzenleyin:
echo "export GOROOT=/usr/local/go" >> ~/.profile
echo "export GOPATH=/home/ubuntu/go" >> ~/.profile
echo "export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin" >> ~/.profile
Enter fullscreen mode Exit fullscreen mode
  • Bu ayarları uygulamak için oturumu kapatıp açın veya aşağıdaki komutu çalıştırın:
source ~/.profile
Enter fullscreen mode Exit fullscreen mode
  • Go'nun başarıyla kurulduğunu ve ortam değişkenlerinin doğru ayarlandığını doğrulamak için terminalde şu komutları çalıştırın:
go version
echo $GOROOT
echo $GOPATH
Enter fullscreen mode Exit fullscreen mode

Bu komutlar, sırasıyla Go'nun sürümünü, GOROOT ve GOPATH değerlerini göstermelidir.

Fabcar Chaincode'unun Dağıtımı:

Fabcar, Go, Java ve JavaScript dillerinde yazılmış Hyperledger Fabric chaincode örneklerini içerir.

  • Go versiyonunu dağıtmak için, öncelikle fabric-samples/test-network dizinine gidin. Ardından, Fabcar chaincode'un Go versiyonunu Fabric ağınıza dağıtmak için aşağıdaki komutu çalıştırın:
cd fabric-samples/test-network

sudo env "PATH=$PATH" ./network.sh deployCC -ccn fabcar -ccp /home/ubuntu/caliper-benchmarks/src/fabric/samples/fabcar/go/ -ccl go
Enter fullscreen mode Exit fullscreen mode

Bu komut, Fabcar chaincode'unun Go versiyonunu Fabric ağınıza dağıtır.

Konfigürasyon Dosyalarının Güncellenmesi ve İzin Ayarları:

  • test-network.yaml dosyasındaki dizinler güncellenmelidir:
nano /home/ubuntu/caliper-benchmarks/networks/fabric/test-network.yaml
Enter fullscreen mode Exit fullscreen mode
clientPrivateKey:
  path: '/home/ubuntu/caliper-benchmarks/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/priv_sk'

clientSignedCert:
   path: '/home/ubuntu/caliper-benchmarks/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/User1@org1.example.com-cert.pem'

connectionProfile:
   path: '/home/ubuntu/caliper-benchmarks/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/connection-org1.yaml'

Enter fullscreen mode Exit fullscreen mode
  • İlgili dosya ve klasörlerin izinlerini düzenleyin:
chmod 777 /home/ubuntu/caliper-benchmarks/networks/fabric/test-network.yaml
chmod 777 /home/ubuntu/caliper-benchmarks/benchmarks/samples/fabric/fabcar/config.yaml
sudo chmod -R 755 /home/ubuntu/caliper-benchmarks/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/
sudo chmod 644 /home/ubuntu/caliper-benchmarks/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/priv_sk
sudo chown $USER /home/ubuntu/caliper-benchmarks/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/priv_sk
Enter fullscreen mode Exit fullscreen mode

Benchmark Testlerinin Çalıştırılması:

  • Benchmark testlerini çalıştırmak için, caliper-benchmarks dizinine geri dönün. Sonra aşağıdaki komutu kullanarak Caliper ile Fabcar chaincode üzerinde benchmark testlerini başlatın:
npx caliper launch manager --caliper-workspace /home/ubuntu/caliper-benchmarks --caliper-networkconfig /home/ubuntu/caliper-benchmarks/networks/fabric/test-network.yaml --caliper-benchconfig /home/ubuntu/caliper-benchmarks/benchmarks/samples/fabric/fabcar/config.yaml --caliper-flow-only-test --caliper-fabric-gateway-enabled
Enter fullscreen mode Exit fullscreen mode

Bu komut, Caliper ile Fabcar chaincode'u üzerinde benchmark testlerini başlatır ve Fabric ağınızın performansını değerlendirir.

Top comments (0)