📄️ Pyteal ile Pyhon Üzerinde Akıllı Kontratlar Geliştirme
Pyteal, Algorand Akıllı Kontratları yazmak için geliştirilen TEAL dilini Python üzerinde yazmamızı sağlayan bir kütüphanedir.TEAL diline daha yakından bakacak olursak Algorand Akıllı Kontratlarını yazmamızı sağlayan Stack tabanlı yeni bir kodlama dilidir. Açılımı "Transaction Execution Approval Language (TEAL)" yani Türkçeye çevirisi "İşlem Yürütme Onay Dili" şeklindedir. Bu dil non-Turing Complete bir dildir yani Tamamlanmamış bir Turing dilidir. Bunun anlamı içerisinde branch forwards'a yani dallanmaya izin verirken döngülere yani recursive logic'e izin vermez. Bu nedenle güvenliği ve performansı maksimum düzeyde tutar.Yinede, Teal temelinde bir birleştirici dil. Pyteal ile geliştiriciler sadece Python kullanarak tam işlevli bir akıllı kontrat oluşturabilir, bu kodları kolayca Teal diline çevirebilir.
📄️ Docker Kurulumu
Docker, uygulamalarınızı hızla derlemenizi, test etmenizi ve dağıtmanızı sağlayan bir yazılım platformudur. Docker, yazılımları kitaplıklar, sistem araçları, kod ve çalışma zamanı dahil olmak üzere yazılımların çalışması için gerekli her şeyi içeren konteyner adlı standartlaştırılmış birimler halinde paketler. Docker'ı kullanarak her ortama hızla uygulama dağıtıp uygulamaları ölçeklendirebilir ve kodunuzun çalışacağından emin olabilirsiniz.
📄️ Pyteal Araçlarının Kullanılması
Hadi ilk Pyteal kodumuzu yazarak başlayalım. Bu işlem için "counter" klasörü içerisine girilir ve içerisindeki tüm dosyalar silinerek "step\_01.py" adında bir dosya oluşturulur. Her Algorand Akıllı kontratı temel olarak 2 parça Teal kodu içermektedir. Bunlar onayla anlamına gelen "approvel" ve temizle anlamına gelen "clear" dosyaları olmaktadır. Bu dosyalar Python üzerinde fonksiyon olarak gösterilir ancak çalıştırıldıklarında ".teal" uzantılı dosyalar olmaktadırlar.
📄️ Kontrat Geliştirilmesi
Akıllı kontratlarımız ile ilginç şeyler yapmaya bu adımda başlayabiliriz. Akıllı kontratlar yapısı gereği bir hayat döngüsünden geçmektedir. Oluşturulurlar, güncellenirler, katılınırlar (opt-in) ayrılınırlar (opt-out) ve silinirler. Her akıllı kontratta çok yaygın olarak kullanılan işlemlerin koşullu olarak hangi tür transfere denk geldiğini ifade eden yapılar bulunmaktadır.