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:
- 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.
- Solidity diline giriş yap
Remix gibi tarayıcı üzerinden çalışan araçlarla denemeler yapabilirsin. Ücretsiz ve kurulum gerektirmez.
- Basit bir proje geliştir
Örneğin bir token, bir oylama uygulaması ya da küçük bir NFT minting kontratı yazabilirsin.
- Testnet’te dene
Gerçek ağ yerine test ağı kullanarak maliyetsiz şekilde kontratını çalıştır, işlem gönder, hata bul.
- 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.