Blockchain uygulamaları, merkezi olmayan uygulamalar (veya kısaca “dApp’ler”) olarak da bilinenleri yerel Python’da oluşturmanın artık mümkün olduğunu biliyor muydunuz? Blockchain geliştirme geleneksel olarak uzmanlaşmış dilleri öğrenmeyi gerektiriyordu ve bu da birçok geliştirici için bir engel oluşturuyordu… ta ki şimdiye kadar. Algorand için hepsi bir arada bir geliştirme araç takımı olan AlgoKit, geliştiricilerin saf Python’da blockchain uygulamaları oluşturmasını sağlar.
Bu makale, blockchain uygulamaları geliştirmenin yararları, Python’un dApp geliştirme için neden ideal bir seçim olduğu, blockchain geliştirme ortamınızı nasıl kuracağınız ve yerel Python’da güvenli blockchain uygulamaları oluşturmaya nasıl başlayacağınız konusunda size yol gösterecektir.
Neden blockchain uygulamaları geliştirmelisiniz?
Blockchain uygulama geliştirme, merkezi olmayan bir veritabanı ve eşler arası işlemler oluşturmanın çok ötesine geçer. Çeşitli uygulamalar için yeni bir güven, güvenlik ve verimlilik düzeyinin kilidini açar.
Kurcalamaya dayanıklı kayıtları garanti edin: Blockchain değişmez ve şeffaf bir defter oluşturarak veri güvenliğini sağlar ve manipülasyon riskini ortadan kaldırır.
Karmaşık anlaşmaları otomatikleştirin: Akıllı sözleşmeler ve atomik takaslar, üçüncü taraf doğrulama ihtiyacını ortadan kaldırarak işlemleri kolaylaştırır ve maliyetleri azaltır.
Varlık sahipliğini devrim niteliğinde değiştirin: Dijitalleştirme, gerçek dünya varlıklarının kısmi mülkiyetine ve güvenli ticaretine olanak tanır.
Yenilikçi çözümler oluşturun: Python geliştirme becerileri yapay zeka, kimlik yönetimi ve güvenli IoT veri alışverişinde çığır açan uygulamalar oluşturmak için kullanılabilir.
Blockchain uygulamaları oluşturmak için neden Python kullanmalısınız?
Okunabilirlik ve sürdürülebilirlik: Python’un düzgün sözdizimi ve sağlam araçları, özellikle karmaşık, güçlü blockchain projeleri üzerinde çalışırken kod yazmayı, anlamayı ve değiştirmeyi kolaylaştırır.
Diğer teknolojilerle entegrasyon: Python, web geliştirme çerçeveleri ve makine öğrenimi kitaplıkları gibi genellikle blockchain ile birlikte kullanılan diğer teknolojilerle iyi çalışır. Bu, temel blockchain işlevselliğinin ötesine geçen dApp’lerin oluşturulmasına olanak tanır.
Birinci sınıf geliştirici deneyimi: Python, geniş ve aktif bir geliştirici topluluğunun yanı sıra Python ve blockchain geliştirme yolculuğunuzu destekleyecek birinci sınıf, kapsamlı belgelere ve güçlü araçlara sahiptir.
Blockchain uygulamaları oluşturmaya başlamak için geliştirme ortamınızı nasıl kurabilirsiniz?
Python’da blockchain uygulamaları oluşturmanın en basit yolu AlgoKit’i indirip kurmaktır. Bu tek noktadan araç seti, Algorand blok zincirinde güvenli, üretime hazır merkezi olmayan uygulamalar oluşturmanıza, başlatmanıza ve dağıtmanıza olanak tanır.
AlgoKit ile geliştirme ortamınızı ve proje klasörünüzü kurabilir, tek komutla projenizi oluşturmaya başlayabilirsiniz.
Önkoşulları indirin ve yükleyin
Python 3.12 veya üzerini, pipx, Git ve Docker’ı yüklediğinizden emin olun. MacOS’ta Homebrew’u da yüklemeniz gerekecek.
AlgoKit’i yükleyin
Komut satırını/terminalini açın ve “pipx install algokit” yazın. Bu, AlgoKit’i herhangi bir dizinde kullanabilmeniz için kuracaktır.
Yerel bir blockchain ağı kurun
Algorand blok zincirinin özel bir sürümünü bilgisayarınızda deneyebilirsiniz.
Komut satırına/terminale “algokit localnet start” yazın. Bu, Docker kullanan bir kapsayıcıda çalışan yerel bir blok zinciri ağı oluşturacaktır. Daha sonra çalıştığını görmek için Docker Masaüstü uygulamasını kontrol edebilirsiniz.
Bu yerel ağda neler olduğunu görselleştirmek amacıyla tarayıcı tabanlı bir blockchain gezgini başlatmak için “algokit localnet explore” yazın.
Yeni bir proje oluştur
Artık AlgoKit kurulduğuna göre blockchain uygulamanız için yeni bir proje oluşturabilirsiniz.
İlk önce “algokit init”i çalıştırın. Bu, rehberli bir süreci başlatacak ve projenizi oluşturmak için birkaç kısa soruyu yanıtlamanız istenecektir.
Bu ilk seferinizse, bir akıllı sözleşme uygulaması oluşturduğunuzu belirtmek için “akıllı sözleşmeler”i seçerek başlayın.
Python kodunu yazacağınız için dil olarak “Python”u seçin ve projenizin tüm dosyalarının depolanacağı klasör için bir ad ve uygulamanız için bir ad seçin.
Son olarak, dağıtıma hazır bir proje oluşturmak için “Üretim” şablonunu seçin.
Üretim şablonu, Algorand projeniz için önceden oluşturulmuş bir başlangıç kiti gibidir. Test, sürekli entegrasyon/sürekli teslimat (CI/CD) ve dağıtım gibi farklı parçaların eksiksiz bir Algorand projesinde birlikte nasıl çalıştığına dair size net bir resim verecektir. Ardından tekrar “Python”u seçin.
AlgoKit’in bağımlılıkları kurmasını ve sizin için bir Git deposu başlatmasını sağlamak için sonraki soruları Y olarak yanıtlayın.
Proje oluşturma sürecini tamamladıktan sonra proje dizinini tercih ettiğiniz kod düzenleyicide açın.
Python’da güvenli blockchain uygulamaları nasıl oluşturulur?
Kodu keşfedin
“Üretim” şablonu, “smart_contracts/hello_world/contract.py” dosyasında bulunan basit bir “merhaba dünya” akıllı sözleşmesini içerecektir. Bu sözleşme Python geliştiricilerine birkaç önemli farkla oldukça tanıdık gelecektir.
Unutulmaması gereken ilk şey, “HelloWorld” sınıfımız için “ARC4Contract”ı miras aldığımızdır. ARC4, Algorand yöntemleri için uygulama ikili arayüzünü (ABI) tanımlayan Algorand Yorum İsteği #0004’tür. “ARC4Contract”tan devralınarak sözleşmenin, AlgoKit’in kendisi de dahil olmak üzere Algorand ekosistemindeki birçok aracın kullandığı bu standartla uyumlu olduğunu garanti ediyoruz.
Gerçek “hello” yöntem tanımının üstünde ayrıca bir “@arc4.abimethod” dekoratörü vardır. Bu dekoratör, yöntemi sözleşmemiz içinde genel bir yöntem olarak ortaya koyar. Bu bir ARC4 ABI yöntemi olduğundan, ABI’yi destekleyen herhangi bir araç bu yöntemi kolaylıkla çağırabilir. AlgoKit ayrıca, tanımladığınız tüm ABI yöntemleriyle etkileşime girmek için bir Python veya TypeScript istemcisi üretebilen bir istemci oluşturucusu da içerir.
Son olarak fonksiyonumuzun argüman ve dönüş tipinin “arc4.String” olduğunu fark edeceksiniz. ARC4 ayrıca sözleşmelerle etkileşimde bulunurken veri türlerini nasıl kodladığımızı ve kodunu çözdüğümüzü de tanımlar. Algorand Sanal Makinesi (AVM), Python “str” ile aynı özelliklerin tamamını desteklemediğinden, “algopy” modülü tarafından sağlanan “arc4.String” tipini kullanmamız gerekir.
Derleyin ve oluşturun
Yerel Python’da yazılan akıllı sözleşmeyi AVM’nin anlayabileceği bayt kodu dili olan TEAL’e derlemek için “algokit project run build”i kullanabilirsiniz. Oluşturma ayrıca testlerde göreceğimiz gibi, sözleşmeyle etkileşimi kolaylaştırmak için kullanılabilecek ek eserler de üretir.
Etkileşim kurun ve test edin
Sözleşme etkileşiminin ve testin nasıl yapıldığını görmek için “tests/hello_world_test.py” adresine gidin. Burada derleme aşamasında AlgoKit tarafından otomatik olarak oluşturulan HelloWorldClient’ı kullandığımızı görebilirsiniz. Bu, sözleşmeyle etkileşimi çok kolaylaştırır ve testlerde, arka uçta veya ön uç geliştirmede kullanılabilir.
Kodunuzu yazın
Bu projeyi keşfettikten ve ilk “Merhaba Dünya”nızı çalıştırdıktan sonra Algorand üzerinde inşaat yapmaya hazırsınız! Örnek sözleşmeyi bir pazar yeri, tokenleştirilmiş gerçek dünya varlıklarının yöneticisi veya zincirdeki değişmez bir veri deposu gibi kendi dApp’inize dönüştürebilirsiniz.
Zincir üstü akıllı sözleşme mantığınızı contract.py’ye ve ilişkili testleri “smart_contracts/tests”e yazın. Sözleşmeyi saniyeler içinde yeniden derlemek, dağıtmak ve test etmek için “algokit project run build”i tekrar çalıştırın.
AlgoKit ortak kod ve geliştirme ortamı yapılandırmasıyla ilgilenirken, artık kendi uygulamanızı oluştururken hızlı bir şekilde yinelemeye hazırsınız.
AlgoKit ile Algorand üzerinde Python kullanarak nasıl derleme yapılacağına dair daha fazla eğitim için AlgoDevs YouTube kanalını ziyaret edin.
Algorand Python hakkında daha fazla bilgi için belgelere bakın.