Solidity Nedir?
Yayın: · Son güncelleme:
Solidity Nedir? Kısaca
Solidity, Ethereum ve EVM uyumlu blokzincirlerde akıllı sözleşme yazmak için geliştirilmiş, nesne yönelimli ve statik tipli bir programlama dilidir. Yazılan kod EVM bytecode'una derlenerek zincire yüklenir.

Solidity, akıllı sözleşme geliştirmek için tasarlanmış yüksek seviyeli bir programlama dilidir. Ethereum'un ilk yıllarında önerilmiş ve Ethereum topluluğu tarafından geliştirilmeye devam etmektedir. Bugün EVM uyumlu ağlarda en yaygın kullanılan sözleşme dilidir.
Solidity nedir?
Solidity, sözdizimi bakımından JavaScript, C++ ve Python'dan izler taşır. Statik tiplidir; yani her değişkenin türü baştan belirtilir. Kalıtım, kütüphaneler ve kullanıcı tanımlı türler gibi özellikleri destekler. Yazılan kod derleyiciyle EVM bytecode'una çevrilir ve blokzincire yüklenir.
Ne için kullanılır?
- Token standartları (ör. ERC-20) ve NFT sözleşmeleri
- Merkeziyetsiz borsalar ve borç verme protokolleri
- DAO oylama sistemleri ve çoklu imzalı cüzdanlar
- Akıllı cüzdanlar ve ödeme otomasyonları
Geliştiriciler genellikle sözleşmeyi önce bir test ağında dener, ardından ana ağa yükler.
Nelere dikkat etmeli?
Blokzincire yüklenen kod çoğu zaman değiştirilemez ve içindeki fonlar herkesin erişimine açık bir ortamda durur. Bu yüzden küçük bir hata büyük kayıplara yol açabilir. Solidity sözleşmelerinde sık görülen sorunlar şunlardır:
- Yeniden giriş (reentrancy): Bir fonksiyon bitmeden tekrar çağrılarak bakiyenin birden fazla kez çekilmesi.
- Yetki hataları: Kritik fonksiyonların herkese açık bırakılması.
- Hatalı hesaplamalar ve dış veri bağımlılıkları.
Kullanıcı açısından, bir projenin Solidity ile yazılmış olması güven göstergesi değildir. Bağımsız denetim raporları, açık kaynak kod ve geçmiş güvenlik olayları ayrıca incelenmelidir.
Sıkça Sorulan Sorular
Solidity öğrenmek zor mu?
Temel programlama bilgisi olanlar için sözdizimi görece tanıdıktır. Zor olan kısım, blokzincire özgü güvenlik ve maliyet konularını öğrenmektir; çünkü hatalar gerçek para kaybına yol açabilir.
Solidity yalnızca Ethereum'da mı kullanılır?
Hayır. EVM uyumlu tüm ağlarda kullanılabilir. EVM kullanmayan bazı ağlar ise Rust gibi farklı diller tercih eder.