Anasayfa Bloglar Blockchain Kodlama Nedir? Hangi Araçlar Kullanılır?
Coderspace Pro Coderspace Pro

Blockchain Kodlama Nedir? Hangi Araçlar Kullanılır?

11 Dakika Okuma Süresi · 22.07.2025
Blog Small Image

Bu içeriği yapay zeka ile özetle!

Blockchain kodlama, blockchain teknolojisi üzerinde çalışan uygulamaların arkasındaki yazılım sürecidir. Kulağa teknik gelebilir ama aslında gayet basit: Bir blockchain ağı üzerinde bir şeyler olsun istiyorsan, o "şeyleri" yazman gerekir.

Yani?

  • Para transferi yapılacaksa,
     
  • Oyun içi öğeler takas edilecekse,
     
  • Bir oylama sistemi kurulacaksa,
     
  • Ya da bir bağış platformu olacaksa…
     

Tüm bu işlerin kurallarını yazan, çalıştıran ve saklayan bir kod gerekir. Ve bu kod da doğrudan blockchain üzerinde ya da ona bağlı sistemlerde yer alır. Bu noktada iki kavram karşımıza çıkar:

  • On-chain kodlama: Kod doğrudan blockchain’e yazılır (örneğin akıllı kontratlar gibi).
     
  • Off-chain kodlama: Kod blockchain dışında çalışır ama veriyi blockchain'e yollar (örneğin bir web arayüzü).

 

 Akıllı Kontrat Nedir?

Blockchain kodlamasının yıldızı: Akıllı kontratlar (smart contracts). Bunlar, belirli kurallar yerine geldiğinde kendiliğinden çalışan mini yazılımlardır. Kimse “şimdi bunu yap” demeden kendi kendine harekete geçerler.

Diyelim ki biri bir dijital sanat eseri aldı. Kod şöyle olabilir:

“Eğer alıcı 2 ETH gönderirse, NFT’yi cüzdanına aktar.”

Bu kural bir kez yazılır ve değiştirilemez. Ne alıcı bir şey değiştirebilir, ne de satıcı. Sistem şeffaf, güvenli ve otomatik çalışır.

Bu akıllı kontratlar genellikle özel bir dilde yazılır: Solidity. (Az sonra anlatacağız.)

 

Blockchain İçin Kullanılan Programlama Dilleri

Blockchain dünyasında herkesin tek bir dili yok. Farklı ağlar, farklı ihtiyaçlar ve farklı yaklaşımlar var. Bu yüzden geliştiriciler de farklı dillerle çalışıyor. Ama bazı diller açık ara öne çıkıyor. Hadi en çok kullanılanlara bakalım :)

1. Solidity

📍 Ethereum için yazıldı, ama artık sektörün standardı gibi.

Solidity, Ethereum blokzinciri için geliştirilmiş bir programlama dili. Bugün akıllı kontratların çoğu bu dille yazılıyor. Basit yapısı, JavaScript'e benzemesi ve büyük topluluğu ile öğrenmesi en kolay dillerden biri.

Ne işe yarar?

  • NFT oluşturmak
     
  • Token üretmek
     
  • DeFi uygulamaları geliştirmek
     
  • Oylama sistemleri kurmak

2. Vyper

🐍 Solidity'nin daha sade ama daha katı versiyonu.

Vyper da Ethereum için geliştirilmiş bir dil ama farklı bir yaklaşımla. Daha az özellik içerir ama güvenlik açısından daha sıkı kurallar koyar. Python'a benzer.

Ne zaman tercih edilir?

  • Güvenliğin ön planda olduğu akıllı kontratlar
     
  • Karmaşık olmayan ama sağlam sistemler
     

3. Rust

🦀 Solana gibi hızlı ağların gözdesi.

Rust, performansı ve güvenliğiyle bilinen bir sistem dili. Solana gibi yüksek işlem hacmi isteyen blokzincirlerde sıkça kullanılır. Öğrenmesi biraz daha zor ama güçlüdür.

Kimler tercih eder?

  • Performans isteyen geliştiriciler
     
  • Solana, Near gibi ağlarda proje yapan ekipler
     

4. Go (Golang)

⚙️ Altyapı tarafında çalışan sistemlerin dilidir.

Go, özellikle blockchain node’larını ve arka plan hizmetlerini geliştirmek için tercih edilir. Basit, hızlı ve güçlüdür.

Nerede görürüz?

  • Hyperledger Fabric projeleri
     
  • Blockchain istemcileri (örneğin Geth)
     

5. JavaScript / TypeScript

🌐 Web3 dünyasının köprüsü.

Akıllı kontratlar doğrudan JS ile yazılmaz, ama Web3 uygulamalarında olmazsa olmazdır. Web siteleri, cüzdan entegrasyonları ve kullanıcı arayüzleri için sık kullanılır.

En çok nerede kullanılır?

  • Web3.js, Ethers.js gibi kütüphanelerle
     
  • DApp arayüzlerinde
     
  • Kullanıcıyla blockchain'i buluşturan yerlerde

 

Peki hangisini kullanacağız?

Bu dillerden hangisini seçeceğin, geliştirmek istediğin uygulamaya bağlı.

  • “Akıllı kontrat yazacağım” diyorsan: Solidity
     
  • “Solana’da çalışacağım” diyorsan: Rust
     
  • “Ben altyapı tarafındayım” diyorsan: Go

Tabii bunlar sadece akla direkt gelen öneriler. Yapılacak seçimin birçok değişkeni olabilir. 

 

Popüler Blockchain Platformları ve Teknik Altyapıları

Blockchain sadece “bir teknoloji” değil, farklı ihtiyaçlara göre tasarlanmış onlarca platformdan oluşan bir ekosistem. Her platformun kendi kuralları, hızları, dilleri ve kullanım alanları var. Bu platformlara bi’ göz atalım.

1. Ethereum

🔗 Akıllı kontrat devriminin başladığı yer.

  • Kod dili: Solidity, Vyper
     
  • En yaygın kullanım alanı: NFT, DeFi, DAO
     
  • Artıları: Geniş topluluk, binlerce hazır araç
     
  • Eksileri: Yoğun dönemlerde yavaş ve pahalı
     

Ethereum, neredeyse tüm Web3 uygulamalarının çıkış noktası oldu. Bir şey blockchain’de yapılabiliyorsa, önce Ethereum’da yapılmıştır diyebiliriz.

2. Solana

Hızlı, ucuz ve performans odaklı.

  • Kod dili: Rust
     
  • Öne çıktığı alan: Oyunlar, finans uygulamaları
     
  • Artıları: Yüksek işlem hızı, düşük ücret
     
  • Eksileri: Merkeziyetsizlik seviyesi tartışmalı
     

Solana, saniyede binlerce işlem gerçekleştirebildiği için gerçek zamanlı uygulamalar için çok uygun.

3. Hyperledger Fabric

🏢 Kurumsal dünyaya özel blockchain.

  • Kod dili: Go, Java
     
  • Kimin için? Şirket içi süreçler, tedarik zinciri, bankalar
     
  • Artıları: İzinli yapı, yüksek güvenlik
     
  • Eksileri: Açık halka açık uygulamalar için uygun değil
     

Hyperledger Fabric, açık bir blokzincir yerine “izinli ağ” mantığıyla çalışır. Yani sadece kimlik doğrulaması yapılan katılımcılar erişebilir.

4. Polkadot

🕸️ Blockchain'leri birbirine bağlayan bir ağ.

  • Kod dili: Rust
     
  • Neyi çözüyor? Farklı blockchain'lerin birlikte çalışabilmesini
     
  • Eksileri: Öğrenmesi zor, karmaşık yapı, slot almak pahalı, Relay Chain'e bağımlı, küçük geliştirici topluluğu
     
  • Artıları: Modüler yapı, yüksek özelleştirme
     

Polkadot, ana zincir (relay chain) ve bağlı alt zincirlerden (parachain) oluşan bir yapı. Birden fazla blockchain’in birbiriyle konuşabilmesini sağladığı için, “web3 altyapısı” olarak sıkça anılıyor.

5. Binance Smart Chain (BSC)

💰 Ethereum’un klonu gibi ama daha hızlı ve daha ucuz.

  • Kod dili: Solidity
     
  • Neyi kolaylaştırır? Düşük işlem ücretiyle DeFi ve token projeleri
     
  • Artıları: Hızlı işlem, düşük maliyet
     
  • Eksileri: Binance tarafından kontrol ediliyor, merkezilik tartışmaları var
     

BSC, Ethereum ile uyumlu olduğu için Solidity ile yazılan kontratlar burada da çalışır. O yüzden özellikle yeni başlayanlar için tercih ediliyor.

Her platformun kendine göre avantajları ve sınırlamaları var.

Kısaca özetlemek gerekirse:

Platform

Kod Dili

Avantajı

Dezavantajı

Ethereum

Solidity

Büyük ekosistem

Yavaş & pahalı

Solana

Rust

Hızlı & ucuz

Merkezilik tartışmaları

Hyperledger

Go / Java

Kurumsal çözümler

Açık kullanımda kısıtlı

Polkadot

Rust

Zincirler arası iletişim

Karmaşık yapı

Binance SmartChain

Solidity

Ethereum uyumlu & ucuz

Merkezi yapı, güven tartışması

 

Blockchain Geliştirme Araçları

İster bir NFT uygulaması yaz, ister bir oyunun blockchain altyapısını kur, bu araçlar sana lazım olacak. Hepsi ayrı bir işi çözüyor ama birlikte çalıştıklarında güçlü bir geliştirme ortamı sunuyorlar.

 1. Kod Editörleri / IDE’ler

Kod yazmaya başladığın yer burası. Bazı editörler sadece akıllı kontratlar için özel olarak geliştirildi.

  • Remix: Tarayıcı üzerinden çalışan, Solidity için birebir. Kurulum gerekmez.
     
  • Hardhat: Ethereum üzerinde geliştirme yapmak için kullanılan bir framework. Gelişmiş test ve entegrasyon özellikleri sunar.
     
  • Truffle: Akıllı kontrat yazmak, test etmek ve dağıtmak için eski ama güçlü bir araçtır.
     
  • Foundry: Son zamanlarda popülerleşen hızlı ve modern bir alternatif.
     

Ufak bir tavsiye: Remix yeni başlayanlar için, Hardhat ise proje geliştirenler için daha uygun.

 2. Cüzdanlar ve API’ler

Blockchain ile etkileşime geçmek için bir cüzdana ve bazı bağlantı kütüphanelerine ihtiyacın var.

  • MetaMask: En popüler Web3 cüzdan. Chrome eklentisi olarak çalışır.
     
  • Ethers.js: Ethereum ağıyla bağlantı kurmak için kullanılan bir JavaScript kütüphanesi.
     
  • Web3.js: Ethers.js kadar sade değil ama daha fazla özellik sunuyor.
     

Kullanıcıdan veri alıp işlemleri göndermek istiyorsanız, bu üçlü şart gibi.

 3. Test Araçları

Gerçek ağa göndermeden önce kontratlarını test etmen gerekir. Yoksa ağda yaptığın her hata sana para (gaz ücreti) olarak geri döner.

  • Ganache: Yerel blockchain oluşturur, hızlıca test edebilirsin.
     
  • Hardhat Network: Hardhat ile birlikte gelen yerel test ağı.
     
  • Foundry (forge test): Hızlı test yazmak ve çalıştırmak için modern bir araç.
     

Test etmeden dağıtmak, deneme sürüşü yapmadan yola çıkmak gibidir. Tavsiye edilmez.

 4. Node ve Ağ Erişim Araçları

Kodu yazdın, test ettin. Şimdi gerçek blockchain ağıyla konuşman gerekiyor.

  • Geth: Ethereum için resmi node yazılımı.
     
  • Alchemy: Blockchain API hizmeti sunar, node kurmadan ağla çalışmanı sağlar.
     
  • Infura: Tıpkı Alchemy gibi, Web3 projeleri için altyapı sağlar.
     

Bu araçlar sayesinde ağda blok dinleyebilir, veri çekebilir ve işlem gönderebilirsin.

 5. Blok Gezgini ve İzleme Araçları

Yaptığın işlemler ne oldu, bloklara ne yazıldı, kontrat adresi aktif mi? Bunları kontrol etmek için:

  • Etherscan: Ethereum blokzincirini görüntülemek için en çok kullanılan araç.
     
  • Solscan: Solana için blok gezgini.
     
  • Tenderly: Akıllı kontrat hatalarını analiz etmek için güzel bir araç.
     

Tüm blockchain işlemleri şeffaftır, yeter ki doğru araçla bak. ;)

 

Akıllı Kontrat Geliştirme Süreci

Bir fikirden çalışan bir akıllı kontrata giden yol çok net adımlardan oluşur. 

Ama unutmamak gerekir: Her adım, dikkat ister. Çünkü blockchain'de yaptığın hata kolayca geri alınamaz (ve bazen pahalıya da patlayabilir).

1. Yazım (Coding)

İlk adım: Kontrat dosyasını oluşturup kodu yazmak.

Örneğin bir NFT koleksiyonu oluşturmak istiyorsun. O zaman yapman gereken:

  • NFT standardını (ERC-721 gibi) kullanarak
     
  • mint, transfer gibi fonksiyonları yazmak
     
  • kuralları belirlemek (maksimum adet, ücret vs.)
     

Hangi araçları kullanacağım?

  • Remix (hızlı denemeler için)
     
  • Hardhat / Foundry (proje bazlı geliştirme için)
     

 2. Test Etme

Kodun çalışıyor olabilir ama doğru çalışıyor mu? İşte bu yüzden test şart. Testleri otomatik hale getirmek de büyük kolaylık sağlar.

🧪 Ne test edilir?

  • Fonksiyonlar beklenen sonucu veriyor mu?
     
  • Hatalı kullanımlara karşı güvenli mi?
     
  • Gas tüketimi makul seviyede mi?
     

Nasıl yapılır?

  • Hardhat: test dosyaları yazarak
     
  • Ganache: işlemleri elle test ederek
     
  • Foundry: hızlı test komutları ile
     

Unutma, kodu live almadan önce mutlaka temizle ve sadeleştir.

3. Güvenlik Kontrolü (Opsiyonel ama önemli)

Blockchain’deki hatalar, milyonlarca dolarlık zararlara yol açabiliyor. Bu yüzden birçok ekip, bağımsız bir güvenlik denetiminden geçmeyi tercih ediyor.

Neler test edilir?

  • Reentrancy açıkları
     
  • Yetkisiz işlem riskleri
     
  • Sınırsız token üretimi gibi hatalar
     

Güvenlik kontrolleri için genelde profesyonel firmalarla çalışılıyor, ama yaygın açık kaynak denetim araçları da var.

 4. Dağıtım (Deployment)

Artık kod hazır. Şimdi ağda yayınlama zamanı.
Ama dikkat: Gerçek ağda yapılan her işlem için gas ücreti ödenir ve işlem geri alınamaz.

🛠️ Nasıl yapılır?

  • Hardhat deploy script ile
     
  • Remix üzerinden tek tıkla
     
  • Etherscan / Solana CLI gibi ağ araçlarıyla
     

Dağıtım sonrası kontrat adresin oluşur. Bu adres, herkesin etkileşim kurabileceği noktadır.

 5. Doğrulama (Verify)

Kontratın kodunu Etherscan gibi platformlara yükleyip doğrularsan, herkes kaynak kodunu görebilir. Bu, güven yaratır ve topluluk katılımını artırır.

Tekrar bi’ özet geçmek gerekirse, akıllı kontrat geliştirme süreci 5 adımdan oluşur:

Adım

Amaç

Kullanılan Araçlar

1- Yazım

Kuralların kodla tanımlanması

Remix, Hardhat, Foundry

2- Test

Kodun beklendiği gibi çalıştığının kontrolü

Hardhat test, Ganache, Foundry

3- Güvenlik

Hataların ve açıklıkların kontrolü

Denetim araçları, manuel kontrol

4- Dağıtım

Kontratın gerçek ağa yüklenmesi

Hardhat deploy, Remix, ağ CLI araçları

5- Doğrulama

Kodun şeffaf şekilde yayınlanması

Etherscan Verify

 

Blockchain Kodlamada Karşılaşılan Zorluklar

Blockchain teknolojisi heyecan verici bir alan. Ama işe girdiğinde, sadece "kod yazmak" değil, aynı zamanda bazı teknik ve yapısal sorunlarla uğraşmak gerektiğini görüyorsun. Bu bölümde en sık karşılaşılan sorunlara ve bunlarla nasıl başa çıkılabileceğine bakalım.

Gas Maliyeti ve Kod Verimliliği

Blockchain’de yapılan her işlem, işlem gücüne bağlı olarak bir ücretle çalışır. Bu ücretlere “gas” denir. Kötü yazılmış bir kontrat, kullanıcıların cüzdanına fazladan maliyet olarak döner. Özellikle Ethereum gibi ağlarda yoğun dönemlerde bu fark çok net hissedilir.

Gas tüketimi sadece kullanıcıyı değil, projenin kendisini de etkiler. Eğer sistem pahalıya çalışıyorsa, sürdürülebilir olmaz.

Ne yapılabilir?

  • Fonksiyonlar sade ve kısa tutulmalı
     
  • Gereksiz veri kullanımı azaltılmalı
     
  • Döngüler dikkatle kullanılmalı
     
  • Depolama işlemleri minimumda tutulmalı

Güvenlik Açıkları

Blockchain uygulamaları doğası gereği herkese açık. Bu şeffaflık bir avantaj ama aynı zamanda her açık kodun potansiyel hedef olması anlamına geliyor.

Özellikle akıllı kontratlarda yapılan küçük bir hata, saldırıya açık bir yapı oluşturabilir. Örneğin bir token projesinde "yetki kontrolü" doğru yazılmazsa, dışarıdan biri tüm varlıkları sıfırlayabilir.

Yaygın güvenlik sorunları:

  • Yetkisiz erişim kontrolleri
     
  • Reentrancy (fonksiyon tekrar çağrısı) açıkları
     
  • Değişken taşmaları (overflow/underflow)
     
  • Kullanıcı girdilerinin yeterince filtrelenmemesi
     

Çözüm nedir?
Kod yazımı sırasında güvenlik rehberlerine uyulmalı, test senaryoları mümkün olduğunca çeşitlendirilmeli ve ideal olarak bağımsız bir güvenlik denetiminden (audit) geçirilmelidir.

Kodun Güncellenememesi

Blockchain’de bir kez yayınlanan kontrat, değiştirilemez. Bu özellik güvenlik için avantaj olsa da, hata durumlarında ciddi sorun yaratabilir. Hatalı bir kod varsa, sadece yeni bir sürüm dağıtarak düzeltilebilir.

Bazı projeler “güncellenebilir” kontrat sistemleri kullanır. Bunun için genellikle proxy yapıları tercih edilir. Ama bu yaklaşım teknik bilgi gerektirir ve yeni başlayanlar için karmaşık olabilir.

Tavsiyemiz:
Yayına almadan önce kodun kararlı ve tam olduğundan emin olun. Gerekiyorsa, “upgradeable” yapılar hakkında önceden araştırma yapın.

Standartlara Uymama

Ethereum gibi ağlarda belirli teknik standartlar vardır. Örneğin ERC-20 token standardı, bir token’ın cüzdanlarda, borsalarda ve diğer uygulamalarda sorunsuz çalışabilmesi için belli kuralları içerir.

Bu standartlara uyulmadığında, yazdığınız uygulama teknik olarak doğru çalışabilir ama cüzdanlarda görünmez, borsalarla entegre olamaz.

Ne yapılabilir?

  • Resmi ERC dokümanları dikkatle incelenmeli
     
  • Topluluk tarafından kullanılan örnek kontratlar referans alınmalı
     
  • Yaygın araçlar (Etherscan, MetaMask) ile uyumlu olunmalı
     

Test Süreci ve Gerçeklik Farkı

Blockchain projelerinde test süreci çok önemli ama aynı zamanda zorlayıcıdır. Yerel bir test ağı üzerinde her şey düzgün çalışsa da, gerçek ağda işler farklı yürüyebilir.

Örneğin:

  • Zamanlama farklılıkları
     
  • İşlem onay süreleri
     
  • Kullanıcı davranışları
     
  • Gas ücretlerinin dalgalanması
     

Bu gibi detaylar test ortamında tam yansıtılamaz.

Ne yapılabilir?

  • Geliştirme sırasında Hardhat, Ganache gibi araçlarla yerel testler yapılmalı
     
  • Ardından bir testnet (örneğin Goerli veya Sepolia) üzerinde gerçekçi senaryolar denenmeli
     
  • Son testler, kullanıcı simülasyonlarıyla desteklenmeli
     

Kısaca toparlarsak: Blockchain kodlaması sadece yazmak değil, aynı zamanda düşünmek, planlamak ve dikkatli ilerlemek demek. Bu zorlukları bilerek yola çıkan geliştiriciler, çok daha sağlam projeler üretiyor.

 

Sonuç: Blockchain Kodlamaya Nasıl Başlanır?

Blockchain dünyası karmaşık gibi görünse de, adım adım ilerleyerek öğrenmek mümkün. Üstelik her şey teorik değil. Kod yazdıkça, test ettikçe ve küçük uygulamalar denedikçe bu alan daha anlaşılır hale geliyor.

Eğer nereden başlayacağını bilmiyorsan, şu sıralama iyi bir başlangıç olabilir:

  1. Ethereum ve akıllı kontrat kavramlarını öğren
    Temel yapıları, gas mantığını ve akıllı kontrat ne işe yarar sorusunu netleştir.
     
  2. Solidity diline giriş yap
    Remix gibi tarayıcı üzerinden çalışan araçlarla denemeler yapabilirsin. Ücretsiz ve kurulum gerektirmez.
     
  3. Basit bir proje geliştir
    Örneğin bir token, bir oylama uygulaması ya da küçük bir NFT minting kontratı yazabilirsin.
     
  4. Testnet’te dene
    Gerçek ağ yerine test ağı kullanarak maliyetsiz şekilde kontratını çalıştır, işlem gönder, hata bul.
     
  5. Araçları keşfet
    Hardhat, Ganache, Ethers.js gibi araçlarla projeni büyütebilir, daha profesyonel bir yapıya geçebilirsin.
     

Blockchain kodlama, hem yazılımcılar hem de yeni teknolojilere meraklı kişiler için fırsatlarla dolu bir alan. Büyük sistemler kurmadan önce küçük denemelerle başlamak, bu teknolojiyi gerçekten anlamanın en güvenli yolu.

Bu içeriği yapay zeka ile özetle!

İÇERİKLER
Konu içeriği

Python ile Programlamaya Giriş 🧑‍💻 Veri bilimi, yazılım ve analitik dünyasının temel dili Python’u sıfırdan öğren. Veri dünyasına ilk adımını at! Hemen İncele!
Python ile Programlamaya Giriş 🧑‍💻 Veri bilimi, yazılım ve analitik dünyasının temel dili Python’u sıfırdan öğren. Veri dünyasına ilk adımını at! Hemen İncele!

Önerilen İçerikler

Tüm İçerikler

Açık Etkinlikler

Tüm Etkinlikler
Aktek Bilişim Genç YetenekliO Programı
Aktek Bilişim Genç YetenekliO Programı

🚀 Aktek Bilişim, Genç YetenekliO Programı ile genç yetenekleri bekliyor!

Yetenek Programı
  • Son Başvuru 31 Mayıs
Detaylı Bilgi
Togg Beyonder
Togg Beyonder

We Only Achieve Togg’ether

Yetenek Programı
  • Son Başvuru 31 Mayıs
Detaylı Bilgi
Teknoloji Zirvesi
Teknoloji Zirvesi

Türkiye’nin önde gelen şirketleri; yazılım, veri, güvenlik ve inovasyon odağında öğrenci ve yeni mezunlarla buluşuyor.

Meet-up
  • Son Başvuru 10 Haziran
  • Başlangıç 10 Haziran
  • Bitiş 10 Haziran
Detaylı Bilgi
Tüm Etkinlikler

Codecast: Yazılımcı Sohbetleri

Farklı alanlardan konuklarımızın katılımlarıyla gerçekleşen Codecast’te yazılım ve veri bilimi yöneticilerini Podcast serimizde konuk ediyoruz!