SMART CONTRACTS & HYPERLEDGER FABRIC: WORKING WITH FABRIC CHAINCODE IN GOLANG EĞİTİMİ

Go ile Hyperledger Fabric akıllı sözleşmesi yazın

Fabric mimarisini, chaincode yaşam döngüsünü ve Go ile varlık yöneten sözleşmeleri test ağında çalıştırın.

Hyperledger Fabric 2.x mimarisi, Go ile chaincode geliştirme, CouchDB sorguları, private data, ABAC ve Gateway istemcisini kapsayan 3 günlük eğitim.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Hyperledger Fabric üzerinde Go ile chaincode geliştirme

Eğitim, Hyperledger Fabric 2.x mimarisini (peer, orderer, MSP, channel, world state) ve chaincode yaşam döngüsünü (package, install, approve, commit) anlatır. Katılımcılar fabric-contract-api-go ile varlık yöneten sözleşmeler yazar; composite key, CouchDB sorguları, GetHistoryForKey, private data ve ABAC erişim denetimi uygular, test-network üzerinde Gateway istemcisiyle uçtan uca çalıştırır.

Süre ve Format

3 Gün. Her gün dört modül; Mimari ve Ortam; Chaincode Geliştirme ve Test; Uçtan Uca Uygulama ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Fabric mimarisi, Go ile chaincode, sorgu, gizlilik, test ağı ve istemci uygulaması

Öğrenme Metodu

Fabric test-network üzerinde Docker ile gerçek peer ve orderer çalıştırılır; her chaincode değişikliği deployCC ile dağıtılıp CLI ve Gateway istemcisinden denenir.

Neden Bu Eğitim?

🔗Kurumsal blokzincir

Permissioned ağ, endorsement politikası ve kanal izolasyonunu pratikte görürsünüz.

📜Go ile sözleşme

Deterministik chaincode yazımını, hata ve girdi doğrulamayla birlikte öğrenirsiniz.

🔐Gizlilik ve yetki

Private data ve ABAC ile kuruma özel veri ve yetki kurgusu yaparsınız.

Anahtar Konular

Hyperledger Fabric eğitimiFabric chaincodeGolang chaincodeakıllı sözleşmeblokzincir eğitimifabric-contract-api-goCouchDB sorgularıFabric Gatewayprivate data collectionpermissioned blockchain
“Blokzincirde güven kod ile değil, kodun herkesçe doğrulanabilir olmasıyla kurulur.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Go temelleri

Struct, interface, JSON ve hata yönetimi gibi Go temellerine hakimiyet; eksik olan için hızlı başlangıç modülü bulunur.

2
Docker deneyimi

Docker ve Docker Compose ile konteyner çalıştırma becerisi.

3
Blokzincir kavramları

Blok, hash ve dağıtık defter gibi kavramlara genel aşinalık.

4
Linux ortamı

Linux veya WSL2 üzerinde terminal kullanımı ve 8 GB üzeri bellek.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı Fabric bileşenlerini ve işlem akışını açıklar, Docker ile ağ kurulumunu yapar ve chaincode yaşam döngüsünü kavrar.
Modül 1
Hyperledger Fabric Mimarisi
  • Permissioned blockchain mantığı ve Fabric'in diğer platformlardan farkı
  • Peer, orderer, MSP ve organizasyon rollerinin ağdaki yeri
  • Channel kavramı ve veri izolasyonu
  • Ledger yapısı: blockchain (blok geçmişi) ve world state veritabanı
  • Execute-order-validate işlem akışı ve endorsement politikası
  • Raft sıralama servisi ve konsensüsün işlem akışındaki yeri
Modül 2
Fabric Ortamı ve Ağ Kurulumu
  • Docker ve Docker Compose sürümleri, fabric-samples ve Fabric ikili dosyaları
  • crypto materyali: cryptogen ve Fabric CA farkı
  • configtx.yaml: organizasyonlar, profiller, capability ve policies
  • Channel oluşturma, peer'ları kanala katma ve anchor peer
  • Orderer Raft kümesi, TLS ve ağ topolojisi
  • Ağı sıfırlama/temizleme ve sık görülen kurulum hataları
Modül 3
Chaincode İçin Go Hızlı Başlangıç
  • Struct, metot ve JSON etiketleriyle varlık modeli
  • Hata dönüşü, fmt.Errorf ve errors paketi
  • Slice ve map ile koleksiyon işlemleri
  • Interface kavramı ve paket yapısı
  • encoding/json Marshal/Unmarshal ve strconv
  • go mod, vendor ve go test ile birim test
Modül 4
Akıllı Sözleşme ve Chaincode Yaşam Döngüsü
  • Smart contract ve chaincode terimleri; deterministik çalışma zorunluluğu
  • Fabric 2.x chaincode lifecycle: package, install, approve, commit
  • peer lifecycle chaincode komutları ve kabul eden organizasyon çoğunluğu
  • Chaincode sürümleme ve sequence numarası ile güncelleme
  • Endorsement politikası tanımı (AND/OR/OutOf) ve etkisi
  • Chaincode'un konteyner olarak çalışması ve external chaincode (CCaaS) yaklaşımı
Günün hedefiKatılımcı varlık yöneten chaincode yazar, CouchDB ve geçmiş sorgularını uygular, birim testlerle ve ABAC ile güvence altına alır.
Modül 1
Go ile Chaincode Geliştirme
  • fabric-contract-api-go paketi ve Contract struct yapısı
  • TransactionContextInterface ve GetStub() ile ledger erişimi
  • PutState, GetState ve DelState ile varlık (asset) yönetimi
  • JSON serileştirme, varlık şeması ve doğrulama kuralları
  • Composite key (CreateCompositeKey) ve GetStateByPartialCompositeKey
  • Hata döndürme, idempotent işlem tasarımı ve girdi doğrulama
Modül 2
Sorgulama, Geçmiş ve Olaylar
  • GetStateByRange ile aralık sorguları ve sayfalama
  • CouchDB zengin sorguları: selector JSON ve GetQueryResult
  • CouchDB indeks tanımları (META-INF/statedb) ve sorgu performansı
  • GetHistoryForKey ile bir varlığın değişim geçmişi
  • SetEvent ile chaincode olayları ve istemcinin dinlemesi
  • Private data collection: tanım, PutPrivateData ve hash'in ledger'daki yeri
Modül 3
Chaincode Birim Testi
  • Test edilebilir chaincode tasarımı: stub bağımlılığını izole etme
  • counterfeiter ile ChaincodeStub ve TransactionContext sahteleri
  • Table-driven test ile iş kurallarını doğrulama
  • Hata yolları, boş sonuç ve JSON bozuk girdi testleri
  • go test -cover ile kapsam ve CI entegrasyonu
  • Hyperledger Caliper ile performans ölçümüne giriş
Modül 4
Kimlik, Güvenlik ve Erişim Denetimi
  • Fabric CA, enrollment ve sertifika tabanlı kimlik
  • ClientIdentity ile çağıranın MSP ID ve niteliklerini okuma
  • Attribute-based access control (ABAC) kurgusu
  • State-based endorsement ile varlık bazlı politika
  • TLS ve mutual TLS ayarları
  • Sözleşmede yetkilendirme, denetim izi ve kötüye kullanım senaryoları
Günün hedefiKatılımcı chaincode'u test-network'e dağıtır, Gateway istemcisiyle çağırır, varlık takip projesini tamamlar ve üretim pratiklerini tartışır.
Modül 1
Test Ağı ve İstemci Uygulaması
  • fabric-samples test-network: network.sh up createChannel -c
  • deployCC ile chaincode'u peer'lara dağıtma
  • peer chaincode invoke/query komutları ve ortam değişkenleri (CORE_PEER_*)
  • Fabric Gateway istemcisi (Go) ile işlem gönderme ve değerlendirme
  • MVCC_READ_CONFLICT ve PHANTOM_READ_CONFLICT hatalarının nedenleri
  • Peer ve chaincode loglarını docker logs ile okuyarak hata ayıklama
Modül 2
Gateway ve İstemci SDK Kullanımı
  • Fabric Gateway API: connect, getNetwork, getContract
  • SubmitTransaction ve EvaluateTransaction farkı
  • Commit durumu, olay dinleme ve kontrol noktası (checkpointer)
  • Cüzdan, kimlik ve bağlantı profili yönetimi
  • Go ve Node.js istemci örnekleri; REST sarmalayıcı
  • Hata sınıfları ve yeniden deneme stratejisi
Modül 3
Uygulama: Varlık Takip Sistemi
  • Asset veri modeli, durum geçişleri ve sahiplik devri
  • CreateAsset, TransferAsset, ReadAsset, GetAllAssets sözleşme metotları
  • Geçmiş sorgusu ve denetim raporu uç noktası
  • İki organizasyon arasında onay gerektiren transfer
  • Test ağında uçtan uca senaryo ve hata durumları
  • Kod inceleme ve iyileştirme turu
Modül 4
Üretim Pratikleri ve Operasyon
  • Chaincode sürüm yükseltme ve veri geçişi stratejisi
  • Chaincode as a service ile konteynerde bağımsız çalıştırma
  • Peer/orderer metrikleri, Prometheus ve loglama
  • Yedekleme, ledger snapshot ve peer yeniden senkronizasyonu
  • Sertifika yenileme, kimlik iptali (CRL) ve MSP güncelleme
  • Performans ayarları, blok boyutu ve batch timeout

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Fabric mimarisi

Peer, orderer, MSP ve channel rollerini işlem akışı üzerinden açıklayabilirsiniz.

🎯
Chaincode yaşam döngüsü

package, install, approve ve commit adımlarını uygulayabilirsiniz.

🧩
Go ile chaincode

fabric-contract-api-go ile PutState/GetState tabanlı sözleşme yazabilirsiniz.

🛠️
Zengin sorgu

CouchDB selector sorguları ve indeksler tanımlayabilirsiniz.

🔍
Gizli veri

Private data collection ile kuruma özel veri saklayabilirsiniz.

🚀
Erişim denetimi

ClientIdentity ve nitelik tabanlı kontrol uygulayabilirsiniz.

📈
Chaincode testi

Sahte stub ile birim testleri yazabilirsiniz.

🧪
İstemci uygulaması

Fabric Gateway ile işlem gönderip olay dinleyebilirsiniz.

Kimler İçin Uygundur?

  • Go temel bilgisi olan yazılımcılar
  • blokzincir çözüm mimarları
  • kurumsal uygulamalara permissioned blockchain entegre etmek isteyen ekipler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Go temel bilgisi olan yazılımcılar, blokzincir çözüm mimarları ve kurumsal uygulamalara permissioned blockchain entegre etmek isteyen ekipler için uygundur.
Go bilmiyorum, katılabilir miyim?
Temel programlama bilginiz varsa katılabilirsiniz; ilk gün Go dilinin chaincode için gereken kısmını kapsayan bir hızlı başlangıç modülü vardır.
Fabric hangi sürümle çalışılır?
Fabric 2.5 LTS ve fabric-samples test-network kullanılır; chaincode lifecycle 2.x akışı anlatılır.
Bulut ya da özel bir altyapı gerekir mi?
Hayır; her şey yerel Docker üzerinde test-network ile çalışır.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Smart Contracts & Hyperledger Fabric: Working with Fabric Ch Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Diğer Programlama DilleriR Programlama ile Veri Analizi Eğitimi
Yazılım Geliştirme Eğitimleri

R Programlama ile Veri Analizi Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

R ile veri analizi: tidyverse, ggplot2, hipotez testleri, regresyon, tidymodels, Quarto ve Shiny. 3 gün uygulamalı eğitim.

Detayları Gör →
Diğer Programlama DilleriRuby Full Stack Development: Flow Control & Data Types Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Full Stack Development: Flow Control & Data Types Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Ruby veri tipleri ve akış kontrolü: String, Symbol, Array, Hash, case/in, blok, lambda ve rescue/ensure. 2 günlük uygulamalı eğitim.

Detayları Gör →
Diğer Programlama DilleriRuby Full Stack Development: Introduction Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Full Stack Development: Introduction Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Ruby giriş eğitimi: kurulum, Array ve Hash, metot ve blok, sınıflar, dosya işleme ve ilk CLI projesi. 2 günlük başlangıç eğitimi.

Detayları Gör →
Diğer Programlama DilleriRuby Full Stack Development: Object-Oriented Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Full Stack Development: Object-Oriented Programming Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Ruby OOP eğitimi: sınıf tasarımı, mixin, polimorfizm, metaprogramlama, tasarım kalıpları, SOLID ve refaktör. 3 gün uygulamalı.

Detayları Gör →
Diğer Programlama DilleriRuby Full Stack Development: RegEx & I/O with Ruby Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Full Stack Development: RegEx & I/O with Ruby Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Ruby ile regex ve I/O: MatchData, gsub, StringScanner, File/Dir, CSV, JSON, YAML, Nokogiri ve OptionParser. 2 günlük uygulamalı eğitim.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn