Solidity
Solidity, Ethereum blok zinciri ve diğer uyumlu platformlarda akıllı sözleşmeler uygulamak için nesne yönelimli, üst düzey bir dildir.
Solidity, Ethereum Sanal Makinesi'ni (EVM) hedeflemek üzere tasarlanmıştır. Statik olarak yazılmıştır, kalıtımı, kitaplıkları ve karmaşık kullanıcı tanımlı türleri destekler. Geliştiriciler, blok zincirindeki hesapların ve uygulamaların davranışını yöneten akıllı sözleşmeler yazmak için Solidity kullanır. Dilin sözdizimi, JavaScript ve C++'a benzer ve bu dilleri bilen programcılar için nispeten erişilebilir hale getirir. Solidity kodu, daha sonra EVM üzerinde dağıtılan ve yürütülen bayt koduna derlenir.
Solidity'nin özellikleri arasında durum değişkenleri, işlevler, olaylar ve değiştiriciler için destek bulunur. Ayrıca yerleşik kriptografik işlevler ve blok zinciri verilerine erişim sağlar. Ancak, Solidity akıllı sözleşmeleri dağıtıldıktan sonra değişmezdir, bu nedenle güvenlik açıklarını önlemek için dikkatli planlama ve kapsamlı testler çok önemlidir. Güvenlik denetimleri ve resmi doğrulama, riskleri azaltmak için yaygın uygulamalardır.
graph LR
Center["Solidity"]:::main
Pre_javascript["javascript"]:::pre --> Center
click Pre_javascript "/terms/javascript"
Pre_smart_contract["smart-contract"]:::pre --> Center
click Pre_smart_contract "/terms/smart-contract"
Rel_ethereum["ethereum"]:::related -.-> Center
click Rel_ethereum "/terms/ethereum"
Rel_smart_contract_architecture["smart-contract-architecture"]:::related -.-> Center
click Rel_smart_contract_architecture "/terms/smart-contract-architecture"
Rel_java["java"]:::related -.-> Center
click Rel_java "/terms/java"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
📜 Solidity is a special code language used to write 'digital rules' for the world's computer ([Ethereum](/tr/terms/ethereum)). It's like writing a contract that nobody can cheat on because the computer follows the rules exactly as they are written.
🤓 Expert Deep Dive
Solidity's design prioritizes deterministic execution within the EVM, crucial for consensus. Its static typing catches many errors at compile time, reducing runtime surprises. The language's object-oriented features, while convenient, introduce complexities in inheritance and state management that can lead to subtle bugs if not managed carefully. Gas optimization is a primary concern; inefficient Solidity code can lead to prohibitively expensive transactions. The compiler itself is a critical component, and its evolution (e.g., introduction of Yul IR, optimizer improvements) significantly impacts gas costs and security. [Formal verification tools](/tr/terms/formal-verification-tools) are increasingly important for auditing Solidity contracts due to the high stakes of immutable, on-chain logic.