Kategoriler
Algorand

Algorand üzerinde Uygulama Geliştirme

Bu yazıda yeni bir teknoloji olan Algorand üzerinde uygulama geliştirmekten bahsetmek istiyorum.

Öncelikle eğitim notlarımdan bahsedeyim. İlk olarak katılımcılara hangi dilde programlama yaptıkları soruldu. Cevap olarak %50’ye yakın Python sonucu çıktı.


Ardından bu konuda ne kadar süredir geliştirme yapıldığı soruldu. Burada da büyük bir oranda kullanıcının yeni olduğu görüldü.

Sonrasında Algorand’ın ne olduğundan bahsedildi. Genel olarak dağıtık defter yapısı üzerinde duruldu. Blokzincir teknolojilerine aşina olanlar için bu kısım biliniyor diye tahmin ediyorum.

Peki Algorand’ın en çok hangi senaryolarda kullanılması düşünülüyor ?

İlk olarak Kitlesel Fonlama (Crowdfunding) üzerinde duruluyor. Mevcut kitlesel fonlama sistemlerinde herkesin birbirine karşı güven sorunu yaşadığını , bu sorunun Algorand platformu üzerinde çözülebileceği dile getiriliyor. Nasıl olacak derseniz, şeffaf bir fonlama sistemi öneriliyor.

Burada Atomic Transfers olarak tanımladıkları bir şey var. Aşağıda akış şeması görülüyor. Şöyle diyorlar:

Geleneksel finansta, ticaret varlıkları genellikle her iki tarafın da kabul ettiklerini aldığından emin olmak için bir banka veya borsa gibi güvenilir bir aracı gerektirir. Algorand blok zincirinde, bu tür ticaret protokol içinde bir Atomic Transfer olarak uygulanır.

Atomic Transfer Flow

İkinci kullanım alanı Supply Chain Management yani Tedarik Zinciri Yönetimi. Bu konuyu ben de bir süredir araştırıyorum. Özellikle besinler soframıza gelirken arkalarındaki hikayeyi şeffaf olarak görebilir miyiz düşüncesiyle. Dünyanın dört bir yanından örnekler de var. Tabi BTC 2018 sonrasında düşünce bu konudaki projeler azalmış ama gitgide arttığı için tekrar gündeme gelecek gibi duruyor. Eğitimde de buradaki çözümün şeffaflık olduğu vurgusu vardı. Merkezsiz bir veri olursa şefafflık sağlanır ve zincirdeki bir aktörün veriyi manipule etmesinin önüne geçilebilir denildi.

Üçüncü örnek Oyun Endüstrisi ile ilgiliydi. Burada kripto tokens kullanılabileceğinden bahsedildi. Blokzincir üzerinde yer alan biroyun olan Gods Unchained örneği verildi.

Bunun dışında da Çin’de bakanlığın blokzincir teknolojisi kullandığı bu sayede sosyal yardımların daha şeffaf bir şekilde gerçekleşmesini sağladığı bilgisi paylaşıldı. Oy verme veya sağlık hizmetlerinde de blokzincir uygulamalarının fayda sağlayabildiği söylendi.

Örneklerin arından DEFI uygulamalarının 2020 yılındaki büyümesinden bahsedilerek Algorand üzerinde çalışan bazı uygulamalar paylaşıldı.

Bunlar;

*IBMR
*FlexFin Tech
*IDEX
*Monerium
*Pokt
*Stablecoins like Tether, USDC, Meld
*Archax

şeklinde.

Diğer Algorand kullanım senaryolarına da buradan bakabilirsiniz.

Burada da ekosistemin genel bir fotoğrafı var.

Evet bu kadar bilgi yeter, başlayalım 🙂

İlk olarak Teal denilen bir dil ile akıllı kontrat yapılabildiğini söyleyeyim. Bunun için de http://algodesk.io/ sitesine giriyoruz. Buradan da Asset Manager kısmına tıklıyoruz.


Bize şifremiz olan kelimeleri veriyor.

Bunları bir yerde saklıyoruz. Çünkü Secret Key işlevi görecek. Ardından Get Started diyoruz. Karşımıza şöyle bir ekran geliyor.

Şimdi BugraCoin diye bir şey yaptım. Bunun da piyasaya ne kadar arz edileceğini ve URL adresinin ne olduğunu belirledim.

BugraCoin isminin çok uzun olduğunu söyledi ben de BgrCoin diye değiştim ve Create dedim 🙂

Coin bilgilerim aşağıdaki şekilde geldi.


Burada dört tane adres var. Bunlar bizim anahtarlarımız oluyor.

Sonrasında altta seçili yere tıklayarak Algo Explorer adresine gidiyoruz.



Burada ürettiğim Coin ile ilgili bilgiler var. Henüz hiç dolaşımda yok, bir tek transfer olmuş. Toplamda 1000 adet arzı var.

Teknik kısma tıklayınca da bazı bilgiler var. Altta diyor ki henüz doğrulanmadı bize logonuzu ve kısa açıklamanızı e-posta gönderebilirsiniz.

Manager Adress diyince akış görülüyor. Mesela benden 40 dakika önce de birisi Coin üretmiş muhtemelen.

Alternatif olarak akışı buradan da görebiliyorsunuz. Bu da farklı bir testnet noktası.

Bu sitenin geliştirdiği Algo Signer diye bir Chrome eklentisi var. Bu bir tür Metamask işlevi görüyor.


Buradan birine para gönderebiliyor, gönderirken de not ekleyebiliyorsunuz. Aşağıda örneği gözüktüğü şekilde.

Bu eklentinin tanıtımından sonra eğitimde Algorand’ın temel özellikleri, tabiri caizse hücum oyuncularını tanıtmaya geçildi.

Bunlar;

Algorand Standart Assets namı diğer ASA

Atomic Transactions

Algorand Smart Contracts

Rekeying

İlk olarak Algorand’ın iş ispatı modeli olan Pure Proof-of-Stake olayından bahsedildi. Bu detaylı bir konu ama, değerli Emre’nin videosunda sahibi anlatıyordu. Özetle rastgele bir seçimle PoS iş ispatı modelini geliştirdiklerini söylüyorlar.

Şimdi ASA ile başlayalım.

Az önce BugraCoin yaptığımız şey aslında ASA olayı. Çok hızlı bir şekilde Coin üretiyorsunuz. Onun dışında da bazı özellikler var tabi. Bunlar Yönetici Fonksiyonları, Spam Koruması olarak geçen bazı farklı yaklaşımlar.

Atomic transfer denilen ise mesela ben sana 50 Bugra Coin yolluyorum sen de karşılığında hemen bana bir eğitim videosu yolluyorsun. Aracı yok. Sistemi kurduktan sonra çalışıyor. Aynı anda 16 transfere kadar altyapı desteği sağlıyor.

Burada şuna vurgu yapılıyor. Sistem kolay ve güvenli. Diyelim ki paranız karşı tarafa gitti, bu durumda o eğitim videosu linkinin gelmeme ihtimali yok. Eğer eğitim videosu gelmezse para da gitmez.

Ve geçelim ana aktörümüz olan Akıllı Kontratlara.

Burada TEAL ismi verilen dil kullanılıyor. Tıpkı Solidity üzerindeki TEAL dili gibi. Python dilinde çalışan PyTeal isminde bir derleyici varmış. Buna sevindim.

İki tür akıllı kontrat var. Bunlar Stateless ve Stateful diye geçiyor, Türkçe’ye nasıl çevrilir bilemedim. Ayrıca bu akıllı kontratlar diğer Algorand teknolojileriyle de uyumlu çalışabiliyor. Örneğin Atomic Transfer ile.

Bu akıllı kontratların kullanıldığı yerler için Finansal Endüstri veya DEFI başta geliyor. Hesap türü olarak da akıllı kontrat için Logic Account diye bir tanımlama yapılıyor.

Burada öne çıkan bir nokta da Private Key’in kolay bir şekilde değiştirilebilmesi.

Smart Contractlar içerisinde yer alan Stateless tipte emanet olarak tutulan kontrattan siz ödeme alıyorsunuz. Diyelim ki bir kitlesel fonlama çağrısı yaptınız. Burada 100 TL para gönderilmesi işin Statefull contract kısmı olurken, bu parayı emanetçi olan kontratın size yollaması Stateless kısmı oluyor.

Ardından Developer Paneli tanıtıldı.

Burada Dokümantosyon içerisinde Start Building kısmı var. Bu bölüm size adım adım uygulama yapmayı gösteriyor.


Bu uygulamaları bir çok sistemde hatta Rasppery Pi gibi sistemlerde de çalıştırabiliyorsunuz.

Buradan sonra farklı ortamlarda kodların kullanılmasını gösterildi ama benim ilgim Python’dan yana olduğu için o kısımdan bahsedeceğim.

Burada Pyteal kullanıldığını söylemiştim. Aşağıda programın döngüsünü paylaşıyorum.

Pyteal’da kodu yazıyoruz,compileTeal() fonksiyonu ile derliyor ve Teal dilindeki kaynak kodumuza ulaşıyoruz. Burada da kod Solidity dilinde olduğu gibi versiyon belirteci olan pragma ile başlıyor.



Anladığım kadarıyla buradan Pyteal kütüphanesine doğru gitmek ve onu öğrenmek lazım. Nasip olursa onla ilgili bir yazıyla devam ederiz. Bir de geliştiriciler için şuradan güzel bir program var, paylaşıyorum.

Selametle.

Buğra