İçeriğe geç
parazade
Kripto

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 nedir?
İçindekiler
  1. Solidity nedir?
  2. Ne için kullanılır?
  3. Nelere dikkat etmeli?

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.

İlgili terimler

Akıllı Sözleşme(Smart Contract)Akıllı sözleşme, blokzincir üzerinde çalışan ve önceden belirlenmiş koşullar gerçekleştiğinde kendiliğinden işlem yapan bir programdır; aracıya ihtiyaç duymadan kuralları uygular, ancak kodundaki hatalar da aynen çalışır.EVM(Ethereum Virtual Machine)EVM (Ethereum Virtual Machine), Ethereum ağındaki akıllı sözleşmeleri çalıştıran ve her düğümde aynı sonucu üreten sanal hesaplama ortamıdır. Her işlemin maliyeti gas ile ölçülür.VyperVyper, Ethereum ve EVM uyumlu ağlarda akıllı sözleşme yazmak için geliştirilmiş, Python'a benzeyen bir programlama dilidir. Kodun okunabilir ve denetlenebilir olmasını öne çıkarmak için bazı özellikleri bilerek dışarıda bırakır.Akıllı Sözleşme Denetimi(Smart Contract Audit)Akıllı sözleşme denetimi (smart contract audit), bir blokzincir uygulamasının kodunun yayına alınmadan önce bağımsız güvenlik uzmanlarınca incelenerek hata, açık ve kötü niyetli fonksiyonların aranması sürecidir.EthereumEthereum, 2015'te hayata geçen, akıllı sözleşmeler ve merkeziyetsiz uygulamalar çalıştırılabilen programlanabilir bir blokzincirdir; yerel kripto parası Ether (ETH), işlem ücretlerini ödemek için kullanılır.DAO(Decentralized Autonomous Organization)DAO (merkeziyetsiz otonom organizasyon), kurallarının akıllı sözleşmelere yazıldığı ve kararların üyelerin genellikle yönetişim tokenlarıyla verdiği oylarla alındığı, merkezi bir yönetim kurulu olmadan işleyen topluluk yapısıdır.