Ana içeriğe atla
Change page

Akıllı sözleşme dilleri

Sayfanın son güncellenme tarihi: 25 Şubat 2026

Ethereum'un harika yönlerinden birisi, akıllı sözleşmelerin nispeten geliştirici dostu dillerle yazılabilmesidir. Python'da veya herhangi bir süslü parantezli dilde (opens in a new tab) deneyimliyseniz, söz dizimi tanıdık olan bir dil bulabilirsiniz.

En aktif ve sürdürülen iki dil ise şunlardır:

  • Solidity
  • Vyper

Remix IDE, hem Solidity hem de Vyper'da sözleşme oluşturmak ve test etmeye yönelik kapsamlı bir geliştirme ortamı sağlar. Kodlamaya başlamak için tarayıcı içi Remix IDE'yi deneyin (opens in a new tab).

Daha deneyimli geliştiriciler Ethereum Sanal Makinesi için bir ara dil olan Yul'u veya Yul'un bir uzantısı olan Yul+'ı kullanmak isteyebilirler.

Eğer meraklıysanız ve hâlâ ağır geliştirme altında olan yeni dilleri test etmeye yardımcı olmak istiyorsanız, daha başlangıç aşamasında ve yakın zamanda ortaya çıkmış bir akıllı sözleşme dili olan Fe'yi deneyebilirsiniz.

Ön Koşullar

Programlama dilleri, özellikle JavaScript veya Python hakkında önceden bilgiye sahip olmak akıllı sözleşme dillerindeki farklılıkları bir mantığa oturtabilmenize yardımcı olur. Ayrıca dil karşılaştırmalarında çok derine dalmadan önce akıllı sözleşmeleri konsept olarak anlamanızı öneriyoruz. Akıllı sözleşmelere giriş.

Solidity

  • Akıllı sözleşmeler yapmak için nesne odaklı ve yüksek düzey bir dil.
  • En çok C++'tan etkilenmiş olan bir süslü ayraç dili.
  • Statik şekilde yazılır (bir değişkenin türü derleme esnasında bilinir).
  • Şunları destekler:
    • Kalıtım (başka sözleşmeleri ekleyebilirsiniz).
    • Kütüphaneler (başka nesne odaklı programlama dillerinde statik bir sınıftaki statik fonksiyonlar gibi başka sözleşmelerden çağırabileceğiniz yeniden kullanılabilir kodlar oluşturabilirsiniz).
    • Karışık, kullanıcı tarafından tanımlanan türler.

Örnek sözleşme

Bu örnek size Solidity sözleşme söz dizimi hakkında bir fikir verecektir. Fonksiyonların ve değişkenlerin daha ayrıntılı bir açıklaması için belgelere bakın (opens in a new tab).

Vyper

  • Python'a benzer programlama dili
  • Güçlü tipleme
  • Küçük ve anlaşılabilir derleyici kodu
  • Etkili bit kodu oluşturma
  • Sözleşmeleri daha güvenli ve denetlenmesi daha kolay hâle getirmek amacıyla bilinçli olarak Solidity'den daha az özelliğe sahiptir. Vyper şunları desteklemez:
    • Niteleyiciler
    • Kalıtım
    • Satır içi derleme
    • Fonksiyon aşırı yüklemesi
    • Operatör aşırı yüklemesi
    • Özyinelemeli çağrı
    • Sonsuz uzunlukta döngüler
    • İkili sabit noktalar

Daha fazla bilgi için Vyper gerekçesini okuyun (opens in a new tab).

Örnek

Bu örnek size Vyper sözleşme söz dizimi hakkında bir fikir verecektir. Fonksiyonların ve değişkenlerin daha ayrıntılı bir açıklaması için belgelere bakın (opens in a new tab).

Yul ve Yul+

Eğer Ethereum'da yeniyseniz ve akıllı sözleşme dilleriyle henüz herhangi bir kodlama yapmadıysanız, Solidity veya Vyper ile başlamanızı öneririz. Akıllı sözleşme güvenliğinin en iyi yöntemleri ve EVM ile çalışmanın şartları ile aşina olduğunuz zaman Yul veya Yul+ dillerine bakın.

Yul

  • Ethereum için orta seviye dil.
  • EVM ve Ethereum aromalı bir WebAssembly olan Ewasm (opens in a new tab)'ı destekler ve her iki platformun da kullanılabilir ortak paydası olacak şekilde tasarlanmıştır.
  • EVM ve Ewasm platformlarına eşit derece katkı sağlayabilecek yüksek seviye optimizasyon aşamaları için iyi bir hedeftir.

Yul+

  • Yüksek derecede verimli bir alt düzey Yul eklentisi.
  • Başlangıçta bir iyimser toplama sözleşmesi için tasarlanmıştır.
  • Yul+, Yul'a yeni özellikler ekleyen deneysel bir yükseltme tasarısı olarak görülebilir.

Örnek sözleşme

Aşağıdaki basit örnek bir üs fonksiyonu uygular. solc --strict-assembly --bin input.yul kullanılarak derlenebilir. Örnek input.yul dosyasında depolanmalıdır.

Akıllı sözleşmeler konusunda zaten deneyimliyseniz, Yul'da tam bir ERC20 uygulamasını burada (opens in a new tab) bulabilirsiniz.

Fe

  • Ethereum Sanal Makinesi (EVM) için statik olarak yazılmış dil.
  • Python ve Rust'tan ilham almıştır.
  • Ethereum ekosistemine yabancı geliştiriciler için bile kolay öğrenilebilir olmayı hedefler.
  • Fe geliştirilmesi henüz erken aşamalarındadır: Alpha sürümü Ocak 2021'de yayınlanmıştır.

Örnek sözleşme

Aşağıda Fe ile uygulanan basit bir sözleşme bulunuyor.

Nasıl seçilir

Her diğer programlama dilinde olduğu gibi, kişisel tercihlerin yanı sıra çoğunlukla doğru iş için doğru aracı seçmekle de ilgilidir.

Eğer dillerden herhangi birini denemediyseniz burada akılda tutulabilecek birkaç şey bulunmaktadır:

Solidity'nin harika olan tarafı nedir?

  • Eğer acemiyseniz, birçok öğretici ve öğrenim aracı bulunmaktadır. Bununla ilgili daha fazlasını Kodlayarak Öğrenme bölümünde görebilirsiniz.
  • İyi geliştirici araçları bulunur.
  • Solidity büyük bir geliştirici topluluğuna sahiptir, bu da sorularınıza büyük ihtimalle hızlıca cevaplar bulabileceğiniz anlamına gelir.

Vyper'ın harika olan tarafı nedir?

  • Akıllı sözleşmeler yazmak isteyen Python geliştiricileri için iyi bir başlangıç yolu.
  • Vyper daha az özellik sayısına sahip olduğu için fikirlerin hızlı prototiplenmesi için harikadır.
  • Vyper kolay denetlenebilirliği ve en yüksek seviyede insan tarafından okunabilmeyi hedefler.

Yul ve Yul+'ın harika olan tarafları nedir?

  • Basite indirgenmiş ve işlevsel alt düzey dil.
  • Saf EVM'ye çok daha yakınlaşmayı sağlar, bu da sözleşmelerinizin gaz kullanımını optimize etmeye yardımcı olabilir.

Dil karşılaştırmaları

Temel söz dizimi, sözleşme yaşam döngüsü, arayüzler, operatörler, veri yapıları, fonksiyonlar, kontrol akışı ve daha fazlasının karşılaştırmaları için Auditless tarafından hazırlanan bu kopya kağıdına (opens in a new tab) göz atın.

Daha fazla kaynak

Bu makale faydalı oldu mu?