Algorand (ALGO) DeFi alanında ilerlemek için Curv ile ortaklık kuruyor
Algorand (ALGO) DeFi alanında ilerlemek için Curv ile ortaklık kuruyor

Algorand, Blockchain uygulamalarına özel bir programlama dili tasarladı

service service
Paylaş

Bu Yazıyı Paylaş

veya linki kopyala

Blockchain, son yıllarda önüne geçilemez bir hızla büyüyor ve tüm dünya için en önemli teknolojik gelişmelerden birisi konumuna geliyor. Kripto para teknolojisi ve varlığı için bir temel oluşturan Blockchain teknolojisi, kullanıcılar arasında anonim, eşler arası (Peer-to-Peer) işlemleri mümkün kılıyor. Şu an Blockchain pazarının yaklaşık 1 buçuk milyar dolar değerinde olduğu ve 2025 yılında bu pazarın 57 milyar doları aşacağı öngörülüyor. Bu yüzden de gerek yazılım geliştiricileri gerekse kurum ve kuruluşlar Blockchain teknolojisinin bu potansiyelinden yararlanmak istiyorlar.

Elbette Blockchain uygulamalarını geliştirebilmek için diğer tüm programları geliştirdiğimiz gibi programlama dillerine ihtiyaç var. 2020 yılı itibarıyla Blockchain geliştirici maaşları da ortalama 80 ile 140 bin dolar arasında değişiklik gösteriyor, böylece hem yeni teknolojileri başlarından yakalamak isteyen hem de yeni bir iş olanağı olarak gören geliştiriciler bu alana oldukça büyük bir rağbet gösteriyor. Fakat Blockchain uygulamaları geliştirmek için en ideal programlama dili hangisi?

Algorand tarafından oluşturulan TEAL ile tanışın

Belki çoğumuz bu soruya Solidity ya da JavaScript diye cevap verecektir. Bu cevapları verenler haksız da değiller fakat gündemi yakından takip edenlerin karşısına başka bir yazılım dili daha çıkacak. Bu da Algorand projesinin geliştirmiş olduğu Transaction Execution Approval Language yani TEAL dilinden başkası değil. Algorand Akıllı Sözleşmeleri şu an TEAL üzerinde geliştiriliyor. TEAL dilinde mantık, ağa yazılan bir işlemin sistemin kendi mantığına göre analiz edilerek onaylanıp onaylanmadığını ve sırasıyla doğru ya da yanlış onaylı ya da onaylanmamış olarak döndürülmesi esasına dayanıyor. Şu an çok yeni bir dil olmasının yanında oldukça efektif bir dil çünkü uzun kod bloklarından ziyade genel mantık olarak temiz kodlamaya odaklanan bir yazılım dili olduğu için oldukça kolay geliştirme imkanı sunuyor. 

Diğer programlama dillerinin eksikleri

Diğer programlama dillerine baktığımız zaman hepsinin birbirinden eşsiz dezavantajları bulunuyor; Örneğin JavaScript’in dinamik olması ve zayıf yazılması, C#’ın Windows odaklı olması, öğrenim ve öğrendiğini pratiğe dökme zorluğu, C++’ın kod fazlalığı ve hata ayıklama zorluğu veya Solidity’nin çok önemli hatalar yapmaya açık olan programlama dinamiği. 

TEAL’ın üstün yanları

Tüm bunların yanında Algorand’ın geliştirmiş olduğu TEAL dili diğer Blockchain programlama dillerinin eksik veya zayıf yönlerini gözlemlemiş ve geliştiricilere en optimal geliştirme ortamını sunmuş. Şu anda oldukça büyük bir hayran ve geliştirici kitlesi olan Python, Go, Java gibi oldukça yaygın ve önemli dillerde de SDK ile entegrasyon sağlayabiliyor bu sayede geliştiricilerin hem Algorand’ın getirdiği yenilikleri deneyimlerken hem de alıştığınız programlama altyapısından vazgeçilmesi gerekmiyor. GitHub kütüphanesine baktığımızda ise tüm repoların oldukça güncel olduğunu görüyoruz çünkü en geç güncelleme bile 1 günden daha uzun zaman önce yapılmamış. 

Ekibin, Python için özel olarak geliştirdiği bir kütüphane bulunuyor; PyTeal. PyTeal, Algorand Akıllı Sözleşmeleri (Algorand Smart Contract – ASC) için akıllı sözleşmeler yazma sırasındaki karmaşık mantığı ortadan kaldıran bir Python kütüphanesidir. PyTeal, Algorand topluluğu için tamamen açık kaynak kodlu bir araç olarak kullanıma sunulmuştur. 

Algorand Akıllı Sözleşmeler, yukarıda da bahsettiğimiz gibi TEAL adı verilen bayt kod (bir compiler tarafından çalıştırılabilir ve aynı zamanda makine diline derlenebilir durumdaki komut seti) tabanlı bir yığın dilinde yazılır. TEAL, bahsedildiği gibi işlemleri analiz edebilir ve onaylayabilir, ancak işlem oluşturamaz veya değiştiremez ve sonuç olarak yalnızca doğru veya yanlış değer döndürür.

TEAL “Turing-complete” olmayan bir dil olup, döngüleri desteklemez, ancak diğer dalları destekler. TEAL, 30 temel talimattan oluşur ve TEAL tamamen normal bir program olarak çalışır. Her Algorand  Akıllı Sözleşmesi en fazla 1KB büyüklüğündedir bu sayede büyük blok büyüklüklerinin oluşmasına karşı olarak ağın şişmesine de engel olmuş olur .

Bununla birlikte, bir yığın dili kullanarak mantık yazmada önemli ek nüanslar vardır. PyTeal, Algorand geliştiricilerinin akıllı sözleşme mantığını Python’da ifade etmesine ve derlemelerine izin verir. PyTeal kütüphanesi, akıllı sözleşme mantığını geliştiriciler için TEAL kaynak koduna derler yani özetle, PyTeal TEAL yazarken geliştiricilerin üzerindeki fazla yükü ortadan kaldırır.

Diğer dillere baktığımız zaman çoğu bu kadar detaylandırılmış resmi kütüphane desteğine sahip değiller, özellikle de Algorand topluluğundaki katkıda bulunmak isteyen geliştiriciler de oyuna dahil olduklarında Algorand’ın bu altyapısı oldukça adından söz ettirecektir. 

pastedGraphic.png

Örneğin yukarıdaki örnekte görüldüğü gibi String tipinde değerler atamak istediğimizde kütüphane içerisinde yol göstererek direkt olarak index numarası ile işlem yaparak kod okuma zorluğunu da ortadan kaldırmış ve eğer yaptığımız akıllı sözleşme başka geliştiricilere de sunulacaksa hem onların da yazdığımız kodu okuyabilmesine hem de üzerinde geliştirmeler ya da düzeltmeler yapmasını kolaylaştırmış oluruz.

Burada sadece Python özelinden bahsetmiş olabiliriz fakat Algorand bünyesine her geliştirme dilinden geliştiricileri dahil etmek istiyor. Bu sebeple Algorand, JavaScript, Python, Java ve Go için de SDK desteği sağlar. Topluluk tarafından sağlanan SDK’ler aracılığıyla daha fazla dil de mevcuttur. Algorand SDK’leri hem bağımsız hem de ağa bağlı geliştirme işlevselliği sunar.

Sonuç olarak:

  • TEAL, bir işlem oluşturamaz ya da değiştiremez, yalnızca onaylar ya da reddeder.
  • TEAL, ALGO ya da diğer varlıkların bakiyelerini arayamaz.
  • TEAL, önceki bloklardaki bilgilere erişim sağlayamaz.
  • TEAL, mevcut işlemin hangi aşamada gerçekleştirileceğini kesin olarak bilemez.
  • TEAL, işleminin ne zaman yapıldığını tam olarak bilemez.

Tüm bu genel bilgilere ve diğer programlama dillerine baktığımız zaman sektörün gidişatının spesifik olarak Algorand platformuna ve onun getirdiği programlama dili ile daha da evrileceğini söyleyebiliriz. Özellikle Algorand ağının tam donanımlı simülasyon ortamlarında değil de gerçek hayat senaryosunda saniyede 1000 işlem hızına çıktığını düşünürsek bağımsız geliştiricilerin ya da kurumsallaşmış firmaların bu altyapıyı ve yazılım dilini benimsemesi çok zaman almayacaktır. 

___________________________

Kripto Para Haber, yazıda geçen bilgilerden ve ilgili ürün ya da hizmetlerle ilgili hasar, kâr-zarar ya da kayıptan sorumlu değildir. Kripto Para Haber, yazıda adı geçen şirket, ürün ya da hizmetle ilgili okuyucuların özen göstererek kendi araştırmalarını yapmalarını önerir.

Sponsorlu makaleleriniz için iletişime geçebilirsiniz / contact us

___________________________

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir