medium

my blogs

my blogs

Etherscan’da Akıllı Sözleşme Nasıl Okunur?

Selam değerli arkadaşlarım ve okuyucularım.👯‍♀️ Ben Elif Hilal! Blockchain teknolojisi, akıllı sözleşmeler, web3 ve hukuk alanlarında türkçe ve ingilizce içerikler üretiyorum. Yazılarımı ilk defa okuyorsanız eğer benim dünyama hoşgeldiniz 🎀

Temelde hemen şu soruyu sormak istiyorum. Akıllı sözleşme nedir sizce? Temel bir tanımı şudur aslında:

Akıllı sözleşme, önceden tanımlanmış belirli koşullar yerine getirildiğinde bir blok zinciri ağında çalışan, manipülasyona karşı korumalı bir programdır.

Bu ne anlama geliyor tam olarak?🤨 Basitçe söylemek gerekirse, akıllı sözleşmeler programlardır. Kod şeffaftır ve genellikle değişmez veya değiştirilemez. Akıllı sözleşmeler, blok zinciri ağlarında çalışırlar ve yürütülürler. Akıllı sözleşmelerin ne olduğunu bilmek blockchaini anlamak açısından çok kıymetlidir. Daha detaylı bilgi bulabileceğiniz bir yazımı sizlerle paylaşayım.

Şimdi soru sorma vakti, akıllı sözleşmeyi anladıktan sonra , bu sözleşmenin ne yaptığını görmek için akıllı bir sözleşmeyi nasıl okursunuz?😉

Akıllı Sözleşme Nasıl Okunur? Okunur mu?

Bu yazıda, popüler bir NFT projesi olan Doodles’ın sözleşmelerine ve bu akıllı sözleşmelerin Etherscan’da nasıl okunacağına bakalım💻. OpenSea’deki projeye bakarak, NFT projesini yöneten bu sözleşmeyi bulmak için NFT’lerden birini araştırabiliriz. Sözleşmeye ulaşmak ve onu okumak için birkaç adım var sadece. Başlayalım 👉🏻👉🏻👉🏻

🔎 Proje Sözleşmesinin Bulunma Aşaması

OpenSea’deki bir NFT projesinde tek bir öğeyi görüntüleyebilirsiniz. Ardından, “Ayrıntılar/Details” sekmesi altında sözleşme adresine bir bağlantı göreceksiniz. Bu bağlantı sizi bir blockchain explorer olan Etherscan’a götürecektir. Etherscan, genel anlamda Ethereum blok zinciri hakkındaki bilgileri görüntülemenizi sağlar.📄

🔎 Doğrulanmış Sözleşmeleri Kontrol Etme Aşaması

Sözleşmenin adresini öğrendikten sonra, Etherscan’da görüntüleyebilirsiniz. Doodles sözleşmesinin sözleşme adresi, 0x8a90CAb2b38dba80c64b7734e58Ee1dB38B8992e. Sözleşmenin kodu doğrulanmadıysa, Etherscan'da yapabileceğiniz pek bir şey yok doğrusu. Sözleşmenin bayt kodu orada mevcut olsa da ve onu tekrar derlemek (decompile) mümkün olsa da, bu; bu yazımın kapsamı dışındadır. Kısaca bilmemiz gereken şey "Sözleşmenin /Contract" yanındaki yeşil onay işaretini görmüyorsanız, kod doğrulanmamıştır. (aşağıdaki resimde görebilirsiniz)

Doğrulanmış Bir Sözleşmeyi Okuma

Sözleşme eğer doğrulanırsa, koda insanlar tarafından okunabilir bir biçimde bakabilmemiz gerekir. Bu durumda “Sözleşme/Contract ” sekmesine tıklarsanız, sözleşme koduna yönlendirileceksiniz.

Sözleşmenin yazarının yani geliştiricisinin kullandığı doğrulama yöntemine bağlı olarak, akıllı sözleşme tarafından kullanılan tüm sözleşmelerin bir birleşimi olan veya Doodles’ta olduğu gibi ayrı dosyalar olan büyük bir dosya görebilirsiniz.

Tek bir akıllı sözleşme genellikle diğer sözleşmeleri içe aktardığı için burada birden fazla sözleşme görülüyor. Bu, sözleşmelerin OpenZeppelin ERC-721 ve Doodles projesinde gördüğümüz Ownable sözleşmeleri gibi doğrulanmış sözleşmeleri yeniden kullanmasına olanak tanır.

Bu noktada, beklendiği gibi çalıştığından emin olmak için Doodles NFT projesinin çalıştırıldığı tüm kodu okuyabilirsiniz.

Sözleşmeyle Etkileşim Kurma

Etherscan aracılığıyla bir sözleşmeyle etkileşim kurmak isterseniz, sözleşme doğrulanmışsa bu da mümkündür. Esas olarak bu yazının kapsamı dışında olmakla birlikte, “Sözleşmeyi Oku (read contract)” ve “Sözleşme Yaz(write contract)” sekmeleri akıllı sözleşmenin işlevlerine erişim sağlar.

Herkesin okuma işlevlerine (read contract) erişimi vardır ve bunları ücretsiz olarak çalıştırabilir.

Yazma işlevleri blokcinzincirini değiştirebilen bir yapıdadır ve gaz gerektiren ya da ownership gibi diğer gereksinimlerle birlikte gelebilecek işlemlerden oluşur.

Akıllı Sözleşmeleri Okumak Neden Önemlidir?

Akıllı sözleşmelerin herkesin erişimine açık olması, bunları kullanmanın avantajlarından biridir aslında. Normal bir kullanıcı, sözleşmeyi çalıştıran kodu görebilir, yani sözleşmenin söylediği şeyi yapmasını sağlayabilir. Bu durum doğal olarak, akıllı sözleşme developerına olan güvenme ihtiyacını azaltır. Yani insanların kendi kontrollerini yapmalarını sağlar.

Sözleşme kodunu bulmak ve okumak sadece bir başlangıç doğrusu. Sözleşmede neler olduğunu daha iyi anlamak için, Solidity hakkında temel bir eğitime ve bilgi birikimine ihtiyaç var ☺️☺️

Ama her halükarda, kod okumak; multidisipliner bir bakış kazandıracaktır. 🤍

Sonuç 🍀

Akıllı sözleşmeler hakkında daha fazla bilgi edinmek için eğitimlerimize göz atabilirsiniz. Workshop ve eğitimlerimiz hem sıfırdan hem orta seviyeden geliştiriciler için, zengin kaynaklara ve içeriklere sahip olmakla beraber; online ve yüz yüze de bu eğitimlere katılabilirsiniz.

💻💻💻💻 Bu arada Blockchain ekosisteminde düzenlediğim etkinliklerden haberdar olmak için Meetup sayfama kaydolabilir, Telegram grubuma girebilir, Twitter’dan takip edebilirsiniz!⛱👻