---
title: Solidity Programlama Dili
slug: solidity-programlama-dili-f4ec2
url: /detay/solidity-programlama-dili-f4ec2
type: article
language: Türkçe
entity:
  primary: Solidity Programlama Dili
  type: article
  disambiguation: Solidity: Ethereum için akıllı sözleşme dili.  Güvenli ve verimli dApp geliştirme için ideal.
  categories:
    - name: Bilişim Ve İletişim Teknolojileri
      slug: bilisim-ve-iletisim-teknolojileri
      url: /kategori/bilisim-ve-iletisim-teknolojileri
    - name: Yazılım Ve Yapay Zekâ
      slug: yazilim-ve-yapay-zeka
      url: /kategori/yazilim-ve-yapay-zeka
  tags:
    - Solidity
    - Programlama
author: Sıla Temel
created_at: 2025-04-09T16:06:43.547144+03:00
updated_at: 2025-04-17T09:52:14.981867+03:00
image: https://cdn.t3pedia.org/media/uploads/2025/04/09/cwKfAgaIYDevDadLRU27Ith6BsMrQQoI.png
---

# Solidity Programlama Dili

<!-- CONTEXT: KURE Information Cards for "Solidity Programlama Dili" -->

## KURE Information Cards

![QmYYEgXv7146gL6tRt3E8wYcJZhtYJZdQZcrFhPFkZFKH1.webp](https://cdn.t3pedia.org/media/uploads/2025/04/09/twuMPZeCDDmKv3zo6BuuLqQfj6Y5ML64.webp)

| Field | Value |
|-------|-------|
| Çıkış Tarihi(leri)(Sayısal) | 2014 |
| Ad(lar) | Solidity |
| Tür(ler) | Programlama Dili |
| Kurucu | Christian Reitwiessner,Gavin Wood |
| Altyapı | Ethereum Virtual Machine (EVM) |
| Blockchain Platformu | Ethereum |

<!-- CONTEXT: Article Content for "Solidity Programlama Dili" -->

## Article Content

Solidity, [Ethereum](/tr/detay/ethereum-e64c8/llms.txt) Virtual Machine (EVM) üzerinde çalışan akıllı sözleşmeleri yazmak için tasarlanmış, yüksek seviyeli ve nesne yönelimli bir programlama dilidir. Ethereum blokzinciri platformunun ihtiyaçları doğrultusunda, güvenli ve verimli akıllı sözleşmelerin geliştirilmesi amacıyla yaratılmıştır. Solidity, Ethereum platformunun yanında, diğer [blokzincir](/tr/detay/blokzincir/llms.txt) ağlarında da kullanılabilen, merkeziyetsiz uygulamalar (dApps) ve [dijital](/tr/detay/dijital-2/llms.txt) varlıkların geliştirilmesinde temel bir [araç](/tr/detay/arac-3/llms.txt) haline gelmiştir. Solidity, yalnızca bir programlama dili olmanın ötesinde, Web3 ekosisteminin temel [yapı](/tr/detay/yapi-2/llms.txt) taşlarından biri olarak kabul edilmektedir.

### **Tarihçe**

Solidity'nin tarihi, Ethereum’un ilk yaratıcılarından olan Gavin Wood’un 2014 yılında Ethereum için geliştirdiği fikirlerin bir parçası olarak başlar. Ethereum'un amacı [sadece](/tr/detay/sadece-e8b50/llms.txt) bir dijital [para](/tr/detay/para-4/llms.txt) birimi olmak değil, aynı zamanda merkeziyetsiz uygulamaların çalıştırılabileceği bir platform olmaktı. Bu amaç doğrultusunda, akıllı sözleşmelerin yazılması ve bu sözleşmelerin güvenli bir şekilde çalıştırılması için özel bir programlama diline ihtiyaç duyuluyordu. Solidity, bu ihtiyaçtan doğmuş ve Ethereum'un platformu için uygun bir dil olarak geliştirilmiştir. Dilin tasarımı, Ethereum’un fonksiyonelliğini ve güvenliğini göz önünde bulundurarak yapılmıştır.

Solidity’nin ilk sürümleri, Ethereum'un ihtiyaçlarını [karşılamak](/tr/detay/karsilamak/llms.txt) üzere geliştirilmiş olsa da zamanla özellikleri genişlemiş ve diğer blokzincir platformlarında da kullanılmaya başlanmıştır. Dil, sürekli gelişen bir yapıya sahip olup, [topluluk](/tr/detay/topluluk-751365/llms.txt) tarafından desteklenen açık kaynaklı bir projedir. Ethereum Foundation, Solidity'nin geliştirilmesi için gereken kaynakları sağlamaktadır, ancak dilin evrimleşmesinde [önemli](/tr/detay/onemli-0325c/llms.txt) katkılar, [bağımsız](/tr/detay/bagimsiz-2/llms.txt) geliştiriciler ve diğer topluluk üyelerinden gelmektedir.

### **Temel Özellikler**

Solidity'nin temel özellikleri aşağıdaki [gibi](/tr/detay/gibi-749510/llms.txt) sıralanabilir:

#### **Statik Tip Tanımlı**

Solidity, her değişkenin türünün [derleme](/tr/detay/derleme/llms.txt) zamanında tanımlanmasını zorunlu kılar. Bu, kodun doğruluğunu artırır, [hata](/tr/detay/hata-2/llms.txt) olasılıklarını azaltır ve derleyici tarafından hataların daha erken tespit edilmesine [olanak](/tr/detay/olanak/llms.txt) sağlar. Değişkenler, belirli türlerde tanımlanmalı ve tür uyuşmazlıkları derleme sırasında hata olarak rapor edilir.

#### **Yüksek Seviyeli ve İnsan Tarafından Okunabilir**

Solidity, JavaScript, Python ve C++ gibi [modern](/tr/detay/modern-2/llms.txt) programlama dillerine benzer bir sözdizimine sahiptir. Bu, geliştiricilerin dili öğrenmesini ve kullanmasını kolaylaştırır. İnsan tarafından okunabilir olması, dilin yazılmasını, denetlenmesini ve hataların giderilmesini daha erişilebilir kılar.

#### **Nesne Yönelimli Yapı (Object-Oriented Programming)**

Solidity, nesne yönelimli bir dil olup, sözleşmeler (contracts) nesneler gibi davranır. Bu sözleşmeler, fonksiyonlar, değişkenler ve yapılar (structs) içerir. Her sözleşme, bağımsız bir [varlık](/tr/detay/varlik-4/llms.txt) olarak işlem yapabilir ve diğer sözleşmelerle etkileşime geçebilir.

#### **EVM Uyumlu**

Solidity ile yazılan kod, Ethereum Virtual Machine (EVM) üzerinde çalışacak şekilde derlenir. EVM, Ethereum ağındaki tüm akıllı sözleşmeleri çalıştıran sanal bir makinedir. Solidity'nin amacı, yazılan kodu EVM'in anlayacağı bytecode'a dönüştürmek ve Ethereum blokzincirinde çalıştırılmasını sağlamaktır.

![Image](https://cdn.kureansiklopedi.com/media/uploads/2025/04/09/vIPnv4Le3T9aLeGYtidJThTY9cAfhX8W.webp)
*Akıllı kontrat çağırma işlemi (Kredi: Engin Ünal)*

#### **Kalıtım ve Modülerlik**

Solidity, nesnelerin miras almasını sağlar. Bu, bir sözleşmenin işlevselliğini başka bir sözleşmeye devretmesini ve geliştiricilerin tekrar kullanılabilir, modüler kodlar yazmasını mümkün kılar. Bu [özellik](/tr/detay/ozellik/llms.txt), kodun verimli bir şekilde organize edilmesini sağlar.

#### **Yüksek Performans ve Gas Verimliliği**

Solidity, Ethereum ağındaki işlemler için bir işlem ücreti (gas) ödenmesini gerektirir. Gas, işlem süresi ve karmaşıklığına göre değişir. Solidity, geliştiricilere daha verimli kod [yazma](/tr/detay/yazma-2/llms.txt) fırsatı sunar, böylece ağda daha düşük maliyetlerle işlem yapılabilir.

### **Kullanım Alanları**

Solidity’nin [yaygın](/tr/detay/yaygin-748456/llms.txt) olarak kullanıldığı başlıca alanlar aşağıda sıralanmıştır:

#### **Merkeziyetsiz Finans (DeFi)**

DeFi, finansal hizmetlerin merkeziyetsiz bir biçimde sağlanmasını amaçlayan uygulamalardır. Solidity, bu tür uygulamaların temel dilidir. Örneğin, Uniswap, Aave, Compound gibi platformlar, Solidity ile yazılmış [akıllı sözleşmeler](/tr/detay/akilli-sozlesmeler-4db64/llms.txt) üzerinde çalışmaktadır. Kullanıcılar, bankalar ve finansal aracı kurumlar olmadan birbirleriyle doğrudan işlem yapabilmektedir.

#### **Non-Fungible Tokens (NFT)**

NFT’ler, dijital varlıkların benzersizliğini ve sahipliğini belirten tokenlerdir. Solidity, ERC-721 ve ERC-1155 gibi NFT token standartlarını tanımlar ve bu tokenlerin alınıp satılmasını sağlar. NFT’ler, dijital [sanat](/tr/detay/sanat/llms.txt), [koleksiyon](/tr/detay/koleksiyon-2/llms.txt) ürünleri ve [oyun](/tr/detay/oyun-2/llms.txt) içi varlıklar gibi birçok alanda kullanılmaktadır.

#### **Merkeziyetsiz Otonom Organizasyonlar (DAO)**

DAO’lar, merkeziyetsiz bir şekilde işleyen ve üyeleri tarafından yönetilen organizasyonlardır. Solidity, DAO’ların oluşturulmasında önemli bir rol oynar. DAO'lar, üyelerinin [ortak](/tr/detay/ortak/llms.txt) kararlar almasını ve oylama yoluyla yönetim gerçekleştirmesini sağlar.

#### **Blokzincir Tabanlı Oyunlar**

Solidity, oyun sektöründe de kullanılmaktadır. Blokzincir tabanlı oyunlar, oyuncuların dijital varlıkları [gerçek](/tr/detay/gercek-2/llms.txt) [değer](/tr/detay/deger-2/llms.txt) taşıyan varlıklara dönüştürmesine ve bunları serbestçe alıp satmalarına olanak tanır. Axie Infinity, Gods Unchained gibi oyunlar, Solidity ile yazılmış akıllı sözleşmelerle çalışmaktadır.

#### **Kimlik Doğrulama ve Sertifikasyon**

Blockchain, dijital kimliklerin doğrulanmasında ve şeffaflık sağlayan sertifikasyon sistemlerinde de kullanılır. Solidity, bu tür sistemlerin yazılmasında [etkin](/tr/detay/etkin/llms.txt) bir rol oynar. Merkeziyetsiz kimlik doğrulama, kişisel verilerin kontrolünü kullanıcıda tutarak güvenli bir [ortam](/tr/detay/ortam/llms.txt) sunar.

### **Programlama Yapısı ve Dil Özellikleri**

Solidity'de her [şey](/tr/detay/sey-2/llms.txt) bir sözleşme (contract) olarak tanımlanır. Sözleşmeler, yapıcılar (constructor), olaylar (events), özel veya genel fonksiyonlar (functions), yapılandırmalar (structs), haritalamalar (mappings), ve diziler (arrays) gibi öğeler içerebilir. ERC-20, ERC-721 ve ERC-1155 gibi standartlar da Solidity ile tanımlanmış şablonlardır.


Bu örnekte, MerhabaDunya adlı bir sözleşme tanımlanmıştır. Sözleşme içinde mesaj isminde bir public değişken bulunur ve guncelle fonksiyonu ile dışarıdan bu mesaj güncellenebilir.

### **Güvenlik ve Riskler**

Solidity ile yazılan akıllı sözleşmelerin güvenliği son [derece](/tr/detay/derece-3/llms.txt) önemlidir, çünkü bir kez Ethereum ağına dağıtıldığında, sözleşme geri alınamaz. Bu nedenle, yazılan sözleşmelerdeki [olası](/tr/detay/olasi/llms.txt) güvenlik açıkları, ciddi finansal kayıplara [yol](/tr/detay/yol-3/llms.txt) açabilir. En yaygın güvenlik riskleri şunlardır:

#### **Reentrancy (geri çağırma saldırıları)**

Sözleşmelerde dışa bağımlı fonksiyonlar varsa, saldırganlar bu fonksiyonları kötüye kullanarak tekrar tekrar işlem yapabilir. Bu [durum](/tr/detay/durum-5/llms.txt), örneğin DAO hacki olayında olduğu gibi ciddi zararlara yol açabilir.

#### **Integer Overflow ve Underflow**

Değişkenlerin beklenmedik şekilde büyük veya [küçük](/tr/detay/kucuk-750344/llms.txt) değerlere ulaşması, sözleşmenin hatalı davranmasına neden olabilir. Solidity 0.8.0 sürümünde bu tür hatalar otomatik olarak kontrol altına alınmıştır.

#### **Timestamp Manipulation**

Akıllı sözleşmeler, bazen zamanı referans alarak işlem yapar. Saldırganlar, blokzincir [zaman](/tr/detay/zaman-2/llms.txt) damgalarını manipüle ederek sözleşmenin işleyişini değiştirebilirler.

#### **Gas Limit ve DoS Atakları**

Akıllı sözleşmelerin çalışması için gas gereklidir. Eğer bir sözleşme yüksek gas kullanıyorsa veya gas limitine takılıyorsa, sözleşme çalışmaz. Bu durum, hizmet reddi (DoS) saldırılarına yol açabilir.

### **Geliştirme Araçları ve Ekosistem**

Solidity ile geliştirme [yapmak](/tr/detay/yapmak-7583b/llms.txt) için çeşitli araçlar ve çerçeveler mevcuttur:

#### **Remix IDE**

Solidity ile yazılan akıllı sözleşmelerin geliştirilmesi ve test edilmesi için kullanılan web tabanlı bir geliştirme ortamıdır. Remix, kullanıcıların hızlıca prototipler oluşturmasına olanak tanır.

#### **Truffle Framework**

Truffle, Solidity projeleri için kapsamlı bir geliştirme çerçevesidir. Test ağlarında sözleşme dağıtımı, entegrasyon testleri ve veritabanı yönetimi gibi işlemleri kolaylaştırır.

#### **Hardhat**

Hardhat, Solidity ile akıllı sözleşme geliştirme için güçlü bir ortam sunar. Hardhat, yerel ağlarda akıllı sözleşmeleri test etmek ve dağıtmak için araçlar sağlar.

#### **Ganache**

Yerel blokzincir simülasyonudur ve geliştiricilerin kodlarını test etmeleri için kullanılır. Ganache, işlem hızlarını kontrol etme ve potansiyel hataları bulma konusunda faydalıdır.

#### **OpenZeppelin**

Güvenli ve doğrulanmış Solidity kütüphaneleri sağlar. Akıllı sözleşmelerin güvenliğini artırmaya yardımcı olmak için önceden denetlenmiş kodlar sunar.

<!-- CONTEXT: Academic Sources and References for "Solidity Programlama Dili" -->

## Academic Sources and References

1. OpenZeppelin. "Secure Smart Contracts for Ethereum." Erişim Adresi.
2. Reitwiessner, Christoph, et al. 2016. "Solidity Programming Language." Ethereum Foundation. Erişim Adresi.
3. Wood, Gavin. 2014. "Ethereum Whitepaper: A Next-Generation Smart Contract and Decentralized Application Platform." Ethereum Foundation. Erişim Adresi.