Hoşgeldiniz Hyperledger Fabric Eğitimi. 

Bu eğitimde, blok zincirine derinlemesine yatırım yapan ve Hyperledger Fabric ile başlamak isteyen geliştiricilerden biriyseniz, ilk Hyperledger uygulamanızı nasıl oluşturacağınızı ve diğer önemli şeyleri öğreneceğiz..

Kurumsal düzeydeki herhangi bir çerçevenin çalışması için uzmanlık gerekir. Acemiyseniz, kendinizi küçük şeyleri düzeltmek için çok zorlanırken bulacaksınız. Bu nedenle erken başlamak ve kendi yönteminizle pratik yapmak önemlidir.

Ama neden Hyperledger Kumaş ve hiç değil diğer kurumsal blok zinciri çerçevesi?

Bunun nedeni, Hyperledger Fabric’in harika izinli dağıtılmış defter teknolojisi (DLT) sunan birinci sınıf bir kurumsal blok zinciri çerçevesi olmasıdır. Bir işletme için ideal bir seçim olmasını sağlayan bazı harika özelliklere sahiptir.. 

CISCO, IBM, Intel, SAP, Accenture ve diğerlerinden oluşan üyelerini kontrol ederek popülaritesini ölçebilirsiniz..

Hyperledger Fabric nedir?

Hyperledger Fabric, açık kaynaklı, kurumsal düzeyde bir çerçevedir. Çok ihtiyaç duyulan uygulamaları ve çözümleri sağlamak için izin verilen dağıtılmış defter teknolojisine dayanır. Linux Vakfı çok sayıda proje üzerinde çalışıyor ve Hyperledger Fabric de bunlardan biri.

Açık kaynak olduğu için herkes projeye katılabilir ve katkıda bulunabilir. Şu anda 35 kuruluş, Hyperledger Fabric’i piyasadaki en iyi kurumsal çerçeve yapmak için birlikte çalışıyor.

Özünde, Hyperledger Fabric yapılandırılabilir ve modülerdir. Bu, işletmelerin çerçeveyi kullanarak sorunsuz bir şekilde çalışabileceği anlamına gelir. Tüm bu istenen özellikler Hyperledger Fabric’i harika bir seçim haline getiriyor! Yazma sırasında, yeni özellikler ve işlevlerle birlikte gelen Hyperledger Fabric v1.4’ü deneyebilirsiniz..

Hyperledger Fabric İşlevleri

Hyperledger Fabric, beş ana özellikle birlikte gelir. Aşağıdaki gibidir

  • Kimlik Yönetimi: Kimlik yönetimi, izin verilen tüm ağlar için çok önemlidir. Bu nedenle kimlik yönetimi, Hyperledger dokusundaki en önemli özelliklerden biridir. Yöneticiye uygun kimlik yönetimini ayarlamasını sağlayarak, kuruluşlar birden çok izin katmanını kullanmalarını sağlayabilir..
  • Etkili işleme: Hyperledger Fabric verimlidir. Bunun nedeni, ağ rollerinin düğüm türü olarak atanmasıdır. Verimlilik, işlemin taahhüt ve siparişten ayrı olarak yürütülmesine izin verilerek de sağlanır..
  • Modüler tasarım: Hyperledger Fabric, modüler tasarım kullanır; bu, hizmetleri veya diğer sistemleri ona entegre etmenin kolay olduğu anlamına gelir. Bu aynı zamanda fikir birliği algoritmasını, kimliğini vb. Belirtebileceğiniz anlamına gelir.. 
  • Gizlilik ve gizlilik: Hyperledger Fabric ayrıca işletmeler için çok önemli olan uygun gizlilik ve mahremiyet sunar. Bilgilerin sızmaması ve gizliliğin ne pahasına olursa olsun korunabilmesi için uygun veri kanalları sunarlar.
  • Chaincode işlevi: Hyperledger Fabric, yalnızca belirli bir işlem türü çağrıldığında mantığın çağrılmasını sağlayan zincir kodu işlevselliği sunar.. 

Hyperledger kumaşının diğer temel özellikleri arasında kaliteli kod, açık kaynak, mükemmel ölçeklenebilirlik ve verimlilik ile endüstri çapında kullanım yer alır.. 

Hyperledger Fabric Eğitimi


Bir uygulama geliştirmeye başlamadan önce, Hyperledger Fabric’in sistem mimarisini anlamak daha iyidir. Bunu yaparak, içeride nasıl çalıştığını anlayabiliriz. Bu bilgi daha sonra ilk Hyperledger Fabric uygulamanızı geliştirmek için kullanılabilir. 

sistem mimarisi

Çekirdekte düğümlerimiz var. Düğümler birbirleriyle iletişim kurar ve bir ağ oluşturur. Bununla birlikte, blok zincirinin kendisi tarafından çalıştırılan programlar vardır. Bunlar zincir kodudur. Zincir kodu, defter ve durum verilerini tutmaktan sorumludur ve ayrıca işlem yürütme ile ilgilenir.. 

Hyperledger Fabric’te, işlemler üzerinde işlemler yapıldığından zincir kod en çok vurgu yapar. Öte yandan işlemlerin ciro ile doğrulanması gerekir. Yalnızca onaylanmış işlemler gerçekleştirilebilir.

İşlemler

Hyperledger Fabric’teki işlemler iki tür olabilir:

  • İşlemleri dağıtın: Bu tür işlemler, bir program olarak parametreli yeni zincir kodu oluşturmaktan sorumludur. Bir kez yapıldığında, zincir kodunun blok zincirine “kurulduğu” söylenir.
  • İşlemleri çağır: Çağırma işlemleri, önceki zincirleme kod dağıtımlarının bağlamında yürütülen işlemlerdir..

Blockchain veri yapıları

Blok zincirinde kullanılan temel veri yapısı, anahtar-değer deposudur (KVS). Anahtarlar çoğunlukla isimlerdir ve değer blob’lardır. Chaincode’lar, veri yapısını aşağıdaki iki KVS işleminin yardımıyla değiştirebilir..

  • koymak
  • almak

Tüm veri yapısı bir durum olarak görülüyor.

Defter

Ledger, başarılı durum değişiklikleri ve başarısız girişimlerin de dizisidir. Daha sonra başvurulabilmeleri için sıralanırlar. Ayrıca, işlemlerin hashchain blokları sipariş edilir. Defter, sırasıyla sıralı işlem dizisini içeren blokları içerir..

Düğümler

Düğümler, ağ içindeki herhangi bir iletişim varlığı olabilir.

Müşteri

Müşteri, son kullanıcılar adına hareket edebilen kişidir.

Akran

Peer, defterin durumunu yönetir ve ağın en iyi şekilde çalışmasını sağlar. Eşler, bir işlemi onaylamaya yardımcı olan emsal eşler olabilir.

İlk Hyperledger Fabric Uygulamanızı Yazma 

Artık Hyperledger Fabric’in mimari yapısını anladığımıza göre, şimdi ilk uygulamanızı oluşturmanın zamanı geldi. Uygulamayı inceleyerek, Fabric uygulamalarının nasıl çalıştığını anlayabileceksiniz. Bu eğiticide, çerçeve dahilinde basit, akıllı sözleşmelerin ve diğer uygulamaların nasıl kullanılacağını öğreneceksiniz.. 

Geliştirmemizi kolaylaştırmak için, anahtara kolay referans için uygulama SDK’sını kullanacağız. 

akıllı sözleşmeler ve diğer sorgular dahil olmak üzere işlevler.

Hyperledger kumaş uygulamanızı geliştirirken izlemeniz gereken üç ana adım aşağıdakileri içerir:

  1. Geliştirme ortamını kurun. Geliştirme ortamı, uygulamanıza birlikte çalışması için gerekli ağı sağlar. Size akıllı sözleşmenizi de çalıştırma yeteneği verecektir..
  2. Örnek akıllı sözleşmeler hakkında bilgi edinme. Burada akıllı sözleşmeden geçmeli ve işlemlerini anlamalısınız. Sorguları uygulamalar tarafından simüle edildiği gibi çalıştıracağız ve ayrıca onu kullanarak defteri güncelleyeceğiz..
  3. Örnek bir uygulama geliştirme: Son adımda, akıllı sözleşmeyi kullanarak örnek bir uygulama oluşturacaksınız..

İlk Ağı Kurmak

Uygulamaya başlamadan önce ilk ağımızı oluşturalım. Başlamak için bazı ön koşulları yüklememiz gerekiyor. Bu ön koşullar, her şeyin amaçlandığı gibi çalışmasını sağlayacaktır..

Önkoşul kurulum kılavuzlarına göz atın İşte.

Ayrıca Hyperledger Composer’a göz atın: Kurumsal Blok Zincirinizi Oluşturun

İkili dosyalar, örnekler ve docker görüntüleri yüklemek isteyebilirsiniz. Kurulum kılavuzuna göz atın İşte.

Örnekleri yükledikten sonra, içinde bulunan kumaş örneklerini bulacaksınız. “Kumaş örnekleri” havuzuna dahil edilmelidir. Depoda, ilk ağ örneği var.

Bu dizine gitmek için aşağıdaki gibi cd komutuyla klasöre gidin.

cd kumaş örnekleri / ilk ağ

İlk ağ örneğini çalıştırmak için, byfn.sh komut dosyasını kullanmanız gerekir. Komut dosyası, projeyi dört eşle hızlı bir şekilde başlatmak için tasarlanmıştır. Dört akran iki farklı kuruluşu temsil ediyor. Ayrıca kapsayıcı, zincir kodu ve işlemleri başlatacak. Kapsayıcı, daha fazla eşin ağa katılmasını sağlayacak.

Ağ yapıları oluşturma

Artık ağ varlıkları için sertifikalar ve anahtarlar oluşturabilirsiniz. Bunu yapmak için aşağıdaki komutu çalıştırmanız gerekir.

.byfn.sh oluşturmak

İşlem başlamadan önce sizden onay istenecektir. Ağı, sipariş hizmetlerine güç verme, yapılandırma vb. Dahil olmak üzere gerekli bilgilerle doldurmaya başlamak için Y’ye basın..

Ağa güç sağlama

Ardından, ağı güçlendirmemiz gerekiyor. Ağa güç vermek aşağıdaki basit komutla yapılabilir.

./byfn.sh yukarı

Komutu çalıştırdığınızda, çerçeve Golang zincir kodu görüntülerini derleyeceksiniz. Ek olarak, ilgili kapsayıcılar da yeni eşlere ağa katılmanın bir yolunu sağlamak için ateşlenecektir.. 

Varsayılan olarak, Go eylemini görürsünüz. Bunun nedeni, Go’nun zincir kod varsayılan dil olmasıdır. Ancak bu, diğer programlama dillerini kullanamayacağınız anlamına gelmez. Chaincode ayrıca Node.js ve Java’yı da destekler. Bir düğüme geçmek için aşağıdaki komutu kullanabilirsiniz. 

.byfn.sh up -l düğümü

Benzer şekilde şunları yapabilirsiniz: Java’ya geç eğer ihtiyacın varsa.

.byfn.sh up -l java

Birden fazla zincir kodu dili kullanmak istiyorsanız, Raft veya Kafka dahil olmak üzere sipariş hizmetini kullanmanız gerekir..

./byfn.sh up -o etcdraft

./byfn.sh up -o kafka

Komutu her kullandığınızda, komut yürütülmeden önce bir kez daha onaylamanızı isteyeceksiniz..

İlk ağınızı nasıl oluşturacağınızı ve sürdüreceğinizi daha iyi anlamak için ağ oluşturma eğitimine göz atın. İşte.

Ağı başlatma

Şimdi, örnekleri yüklediğinize ve önkoşul sayfasından geçtiğinize göre, şimdi ağı başlatma zamanımız geldi..

Basitlik uğruna JavaScript kullanmayacağız. Ayrıca, fabcar alt dizinine ihtiyacınız var. Bir kumaş numunesi deposu yerel klonu da yapın.

Ağı başlatmak için startFabric.sh kabuk komut dosyasını kullanmanız gerekir. Bir kez başlatıldığında, sertifika yetkilileri, sipariş verenler, eşler vb. İçeren bir blok zinciri ağı elde edeceksiniz. Fabcar alt dizini kullanılırken, FabCar akıllı sözleşmesi otomatik olarak kurulacak ve başlatılacaktır.. 

Ağı başlatma komutu aşağıdaki gibidir:

./startFabric.sh javascript

Uygulamayı yükleme

Şimdi uygulamayı kurmanın zamanı geldi. Ancak bunu yapmadan önce, bağımlılıkları yüklememiz gerekir.. 

npm yükleme

Yukarıdaki komut, içinde tanımlanan önemli bağımlılıkları kurmaya başlayacaktır. package.json

Pakette, başlatılacak önemli sınıflar şunları içerir:

  • kumaş-ağ sınıfı → işlemleri, kimlikleri, cüzdanları etkinleştirir
  • fabric-ca-client → kullanıcıları ilgili sertifika yetkililerine kaydedin

Bittiğinde, fabcar / javascript dizinine geçeceğiz. Aşağıdaki dizin dosyalarına bakalım:

  • encrollAdmin.js
  • düğüm_modülleri
  • package.json
  • registerUser.js
  • invoke.js
  • package-lock.json
  • query.js
  • cüzdan

Sertifika Yetkilisi ile İletişim

Artık çalışan bir ağımız olduğuna göre, bir sertifika yetkilisiyle nasıl iletişim kuracağımızı öğrenelim. 

Sertifika İmzalama İsteği (CSR)

İlk görevimiz bir KSS sürecinden geçmek. Bu süreçte yönetici genel, özel ve X.509 sertifikasını oluşturmak için sertifika yetkilisiyle iletişim kurar. Yapmak için kullanılan program enroll.js’dir

Yöneticiyi kaydetmek için aşağıdaki komutu kullanın.

node enrollAdmin.js

Tüm bilgiler artık cüzdan dizin.

Başka bir kullanıcıyı kaydetmek istiyorsanız aynı işlemin izlenmesi gerekir. Başka bir kullanıcı kaydetmeyi deneyelim – yeni

node reisterUser.js 

Bu, yeni kullanıcıyı kaydedecek ve kimlik bilgilerini yöneticinin yanında cüzdanda saklayacaktır..

Muhasebe Sorgulama

Blok zinciri ağında defterin bir kopyası olduğundan, bilgi bulmak için onu sorgulayabilirsiniz. Defterler salt okunurdur ve bu nedenle yalnızca okuma sorguları çalıştırılabilir. Daha iyi anlamak için aşağıdaki resme göz atalım.

Kaynak: Hyperledger Fabric Docs

Defterdeki değerler de kendi dünya devleti. Bu, öğreticide daha önce tartışılan anahtar çifti değeridir. Böylece, bir sorgu anahtarlardaki verileri ortaya çıkarabilir. İyi haber şu ki, CouchDB gibi veritabanlarından yararlanabilirsiniz. Dünya durumları ilişkisel veritabanlarını kullanacak şekilde yapılandırılabilir.

Defterdeki tüm arabaların listesini almak için aşağıdaki komutu çalıştırın,

node query.js

Sorgulamanın nasıl çalıştığını daha iyi anlamak için, query.js dosyalayın ve üzerinden geçin. Aşağıdan geçelim.

const {FileSystemWallet, Gateway} = required (‘yapı-ağ’);

Yukarıdaki satırda bir ağ bağlantısı yapılır.

Ardından, uygulamanın bağlanması için bir ağ geçidi oluşturulur. Aşağıdaki satırlar kullanılarak yapılır.

const ağ geçidi = yeni Ağ Geçidi ();

gateway.connect’i bekleyin (ccp, {cüzdan, kimlik: “kullanıcı1”});

ccp kullanıcı kimliğini ve ilgili cüzdan bilgilerini tanımlamak için kullanılır. 

Hyperledger Fabric ağı birden fazla kanal çalıştırdığından, uygulama için belirli bir kanala bağlanmak önemlidir..

const contract = network.getContract (“fabcar”);

Akıllı Sözleşmeyi Anlamak

Akıllı sözleşmeyi daha iyi anlamak için hadi üzerinden geçelim. Ayrıca, kendisi aracılığıyla yapılan işlemleri de sergileyecek.

Erişmek için alt dizine gitmeniz gerekir chaincode / fabcar / javascript / lib. Bir kez orada, bir düzenleyicide fabcar.js’yi açın.

Orada akıllı sözleşmeyi tanımlamak için Sözleşme sınıfının kullanıldığını göreceksiniz. Ayrıca, queryCar, queryAllCars, initLedger, changeCarOwner ve createCar dahil olmak üzere akıllı sözleşmede tanımlanmış net işlemler olacaktır..

İşlemler aşağıdaki gibi görünecektir:

async queryCar (ctx, carNumber) {…}

Şimdi queryCar işlemine bakalım.

async queryAllCars (ctx) {

  const startKey = “CAR0”;

  const endKey = “CAR999”;

  const iterator = await ctx.stub.getStateByRange (startKey, endKey);

Kaynak: Hyperledger Fabric Docs

Defterin Güncellenmesi: Yeni bir araba satın almak

Son adım, defteri yeni bilgilerle güncellemektir. Bu durumda, invoke.js’yi kullanarak yeni bir araba oluşturalım. Dosyayı açmanız ve ona aşağıdaki komutu eklemeniz gerekiyor.

Contract.submitTransaction (“createCar”, “CAR12”, “CarBrand”, “Model”, “Color”, “Owner”) bekleyin;

Yukarıdaki kodda, uygulama createCar akıllı sözleşme işlemlerini çağırır. Karşılığında, CarBrand, Color, Model ve Owner dahil olmak üzere özellikleriyle otomobili yaratacaktır..

Şimdi, deftere göndermek için aşağıdaki kodu çalıştırın

node invoke.js

Bu, bir defter güncellemesiyle sonuçlanacak ve başarılı bir çıktı alacaksınız.

Sonuç

Bu bizi eğitimimizin sonuna götürür. Eğitimde amacımız sadece yüzeyi kaplamaktı. Derinlemesine dalmak istiyorsanız, her şeyi ayrıntılı olarak tartışan resmi Hyperledger Fabric belgelerine göz atabilirsiniz.. 

Peki, kurumsal blok zinciri oluşturmak için Hyperledger Fabric’i kullanacak mısınız? Aşağıya yorum yapın ve bize bildirin.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me