Solidity, akıllı sözleşmelerin uygulanması amacıyla geliştirilmiş bir programlama dilidir. Solidity, Ethereum ağında geliştirilen akıllı sözleşmelerin davranışlarını programlama diliyle yönetebilme imkanı sunar. Solidity ile yüksek seviyeli kodlar geliştirmek mümkündür. “High Level” olarak adlandırılan bu yüksek seviyeli kodlar; kitle fonlamadan para transferine, oylamalardan açık artırmalara kadar oldukça geniş yelpazeli akıllı sözleşmeler üretebilme olanağına sahiptir. Dolayısıyla Solidity, Ethereum altyapısı içerisinde akıllı sözleşmelerin yönetilmesinde son derece kritik işleve sahip bir programlama dilidir. Solidity’nin programlama dili curly bracket ve nesne yönelimlidir.
Solidity Nedir?
Solidity, Ethereum ağının geliştiricileri tarafından oluşturulan ve farklı blokzincir ağlarında akıllı sözleşmeler yazmak amacıyla kullanılan bir programlama dilidir. Solidity, akıllı sözleşmeler yaratmak için kullanılabildiği gibi akıllı sözleşmelerin çalışmasında ve çeşitli bileşenlerle yönetilmesinde de kullanılabilir.
Solidity, 2014 yılının Ağustos ayında geliştirilen bir projedir. Başlangıçta Gain Wood tarafından geliştirilen bu proje, Ethereum projesi bünyesine dahil edilmiştir. Günümüzde ise bu programlama dili, Ethereum ağı dışında farklı ağlarda da kullanılmaktadır.
Solidity, genel anlamıyla statik olarak yazılmış bir programlama dilidir. Dilin statik olması, önemli avantajlar sağlar. Bununla birlikte Solidity, Ethereum Virtual Machine (EVM) üzerinde bytecode adı verilen Java programlama dili içerisinde Java kodlarının alternatifi olan manuel kodların düzenlenebilmesini sağlar. Bu durum Solidity’nin çalışma prensibini de önemli ölçüde açıklamaktadır. Solidity, kendi kendini güçlendiren bir iş mantığına sahiptir.
Solidity Dili ile Programlama
Solidity dili ile programlama, birçok açıdan önemli avantajları bünyesinde barındırır. Solidity, klasik ECMAScript programlarından farklı olarak kompleks üye değişkenlerini destekler. Bu durum, Solidity ile keyfi hiyerarşik eşleşmeler yapabilmenin ya da gelişigüzel yapılar geliştirebilmenin önünü açar.
Solidity ile geliştirilen akıllı sözleşmeler, C3 linearizasyon ile inheritance adı verilen çoklu kalıtım devralmasını destekler. Solidity, güvenlik açısından da oldukça verimli bir programlama dilidir. Solidity ile oluşturulan akıllı sözleşmeler, birden fazla türde güvenlik ikili arabirimi içerebilir.
Solidity ile Akıllı Kontratlar
Solidity ile akıllı sözleşmeler, Ethereum ağı dışındaki blokzincirlerde de geliştirilebilir. Aynı zamanda çevrimiçi olarak erişilebilecek basit kodlar ile akıllı sözleşmeler geliştirmek mümkündür. Solidity, basit kodlar yardımıyla akıllı sözleşmeler geliştirebilmeyi mümkün kılar.