Yeni Başlayanlar için: Solidity

Solidity, akıllı sözleşme yazmak için kullanılan nesne yönelimli bir programlama dilidir. Çeşitli blockchain platformlarında akıllı sözleşmeleri çalıştırmak ve yürütmek için kullanılır. Ethereum gibi blockchain platformlarında akıllı sözleşmeleri imzalamayı sağlayan eski Ethereum çekirdeği geliştiricilerinden Gain Wood, Christian Reitwiessner, Alex Beregszaszi ve Yoichi Hirai tarafından geliştirildi.

Tarihçesi

Solidity başlangıçta Ağustos 2014’te Gavin Wood tarafından önerildi; daha sonra Ethereum projesi bünyesindeki Christian Reitwiessner yönetimindeki Solidity ekibi tarafından tarafından yönetildi. Ethereum Sanal Makinesi’ni (EVM) hedeflemek için tasarlanmış üç dilden biridir (diğerleri Serpent ve LLL’dir).

Günümüzde Solidity, Ethereum’daki ana dildir. Ayrıca Ethereum ile rekabet eden bazı diğer blockchain platformlarda da kullanılır. SWIFT, Burrow’da çalışan Solidity’yi kullanarak bir konsept ispatını dağıttı.

Cornell Üniversitesi’nden bir araştırmacı, 2016’da gerçekleşen DAO saldırısında Solidity’nin kısmen sorumlu olduğunu belirtti. Bu aslında DAO sözleşmesinde bir kusur veya istismar değildi: teknik olarak EVM amaçlandığı şekilde çalışıyordu, ancak Solidity sözleşmelere -hem topluluk hem de geliştiricilerinin gözünden kaçan- güvenlik açıklarını getiriyordu.

Solidity Nedir

Solidity, EVM’de çalışan akıllı sözleşmeleri geliştirmek için tasarlanmış statik olarak yazılmış bir programlama dilidir. Solidity, EVM’de yürütülebilen baytcode olarak derlenir. Solidity ile geliştiriciler, akıllı sözleşmelere dönüştürülmüş kendi kendini force eden iş mantığını uygulayan uygulamalar yazabilir ve işlemin yetkili bir kaydını bırakabilir. Solidity gibi akıllı sözleşmeye özgü dillerde akıllı sözleşmeler yazmak kolay (görünüşte programlama becerisine sahip olanlar için) olarak anılır.

Wood’un belirttiği gibi, mevcut web geliştiricilerin aşina olduğu ECMAScript sintaksı etrafında tasarlanmıştır. ECMAScript’in aksine statik yazım ve değişken dönüş türleri vardır. Serpent ve Mutan gibi diğer EVM hedefleyen dillerle karşılaştırıldığında, Solidity bazı önemli farklılıklar içerir. Sözleşmeler için keyfi hiyerarşik eşlemeler ve yapılar da dahil olmak üzere kompleks üye değişkenleri desteklenmektedir. Sözleşmeler, C3 linearizasyonu ile çoklu kalıtım da dahil olmak üzere devralmayı (inheritance) destekler. Tek bir sözleşmeyle birden fazla türde emniyetli işlevi kolaylaştıran bir uygulama ikili arabirimi (ABI) de Serpent tarafından tanıtıldı.

Solidity Kod Örneği

contract GavCoin
{
mapping(address=>uint) balances;
uint constant totalCoins = 100000000000;

/// Endows creator of contract with 1m GAV.
function GavCoin(){
balances[msg.sender] = totalCoins;
}

/// Send $((valueInmGAV / 1000).fixed(0,3)) GAV from the account of $(message.caller.address()), to an account accessible only by $(to.address()).
function send(address to, uint256 valueInmGAV) {
if (balances[msg.sender] >= valueInmGAV) {
balances[to] += valueInmGAV;
balances[msg.sender] -= valueInmGAV;
}
}

/// getter function for the balance
function balance(address who) constant returns (uint256 balanceInmGAV) {
balanceInmGAV = balances[who];
}
}

Solidity nedir sorunuza umarım cevap bulabilmişsinizdir. Yorumlarınız varsa eklemeyi unutmayın.

admin

Recent Posts

blokzincir.info Yayında! Türkiye’nin İlk ve Tek Ücretsiz Kripto Analiz Platformu!

blokzincir.info Yayında! Türkiye'nin İlk ve Tek Ücretsiz Kripto Analiz Platformu!

19 saat ago

Kripto Para Dünyasında Dikkat Edilmesi Gereken Noktalar

Kripto paraların en önemli özelliklerinden ikisi bir merkezi yapıya sahip olmaması ve bütün işlemlerin herkes…

3 sene ago

Bitcoin Alım Satımı Yapacaklar İçin Başlangıç Rehberi

Sanal kripto para ya da teknik adıyla Bitcoin (BTC) özellikle 2016 yılından itibaren adını sıklıkla…

4 sene ago

Akıllı Sözleşmelerin Ötesinde: Ethereum’u en iyi blockchain platformu yapan etmenler?

Kripto sanal para olgusu her ne kadar dünya üzerinde 2000’li yıllardan beri düşünülmüş ve tartışılmış…

4 sene ago

Bitcoin Cash Fiyatını Etkileyen Faktörler

Günlük hayatta yaptığımız birçok işlem içerisinde mobil teknolojiler yer almaya başladıkça internet ve internet tabanlı…

4 sene ago

BitMart – Yeni Nesil Küresel Entegre Dijital Varlık Platformu

Blockchain teknolojisi ve alternatif kripto para birimleri dünyada fırtına estirdi. Ancak, yüksek volatilite ve açık…

4 sene ago