Web3 için dApps Yapı Taşları: Rust’ta Ethereum WebAssembly Yazmak için SewUp
Bu sonbaharda dünyanın dört bir yanındaki blockchain hackathonlarında, geliştirici topluluğuna bir heyecan dalgası hakim. Geliştiriciler, Rust programlama dilini kullanarak DeFi, oyun, NFT’ler ve metaverse’lerde Web3 uygulamaları için dApp’ler oluşturuyor. Bir programlama dili, 1990'larda ilk nesil Web’in dili olarak JavaScript’in baskın hale gelmesinden bu yana böyle bir heyecan yaratmadı.
Tüm patırtı ne hakkında? Çoğu blok zinciri uygulaması, Ethereum blok zinciri için oluşturulmuştur. Rust, Ethereum dApps için en yaygın olarak kullanılan geliştirme dili olan Solidity’nin yerini alacak programlama dili olacak şekilde iyi bir konumdadır.
Rust’ın önceliği, Ethereum Eylül ayında SecondState EWasm Utility Program (SewUp) kitaplığını yayınladığında güvence altına alındı.
SewUp Nedir?
SecondState EWasm Utility Program (SewUp), geliştiricilerin Rust’ta Ethereum WebAssembly yazmalarına yardımcı olan bir kitaplıktır. WebAssembly’nin akıllı sözleşmeler için bir format olarak kullanılması, aşağıdakiler de dahil olmak üzere çeşitli avantajlara sahiptir:
-Akıllı sözleşmeler için yerel yürütme hızına yakın
-C, C++ ve Rust gibi birçok geleneksel programlama dilinde akıllı sözleşme geliştirme desteği
-Geniş bir geliştirici topluluğuna ve WebAssembly’yi çevreleyen araç zincirine erişim
Yaygın olarak Web3 için standart olarak kabul edilen WebAssembly, farklı sistemlerde ve platformlarda tutarlı bir şekilde çalışır ve halihazırda tüm büyük tarayıcılarda kullanılmaktadır. Geliştiriciler, Rust ve WebAssembly kullanarak farklı platformlar üzerinde tutarlı bir istemci çalıştırabilir.
Rust’ın Avantajları Nelerdir?
Hüsrana uğramış C++ programcıları da Rust’ı benimsiyor. Rust, ana düşmanından daha hızlı, daha güvenilir ve daha güvenli bir program olarak kabul edilir. Rust ile geliştiriciler, C’nin bellek yönetimi sorunları olmadan oyunlar ve web uygulamaları gibi üst düzey soyutlamalar yazabilirler.
-Bellek yönetimini iyileştirir — Rust, belleği yönetmek için arka planda bir çöp toplayıcı çalıştırmaz, bu da belleği düşük bellek ayak izi ile daha hızlı ve daha verimli hale getirir.
-Hataları erken tespit eder — Derleyici, güvenli olmayan bir şekilde belleği paylaşan bir program oluşturmanızı engeller ve programı test etmeden önce veri yarışlarını önleyerek zamandan tasarruf etmenizi sağlar.
-Sıfır maliyetli soyutlamaları destekler — Herhangi bir kod soyutlaması, performans üzerinde bir sürüklenmeden aynı derlemeye uyarlanabilir.
-Yerele yakın performans sağlar — Herhangi bir dili WebAssembly’de derler.
-Derleme zamanında veri yarışlarını önler.
-İşletim sistemleri arasında platformlar arası geliştirmeyi destekler.
Rust + WebAssembly
Rust ve WebAssembly, güçlü bir güç gösterisidir. Birkaç çalışma, Java ve Python gibi diğer programlama dillerine kıyasla Rust’taki WebAssembly çalışma zamanında 2 haneli performans iyileştirmelerini hızlandırdı.
SecondState aşağıdaki raporu açıkladı:
-Rust, 2 kat (%200) daha hızlıdır, ancak Java ile karşılaştırıldığında belleğin yalnızca %1'ini kullanır.
-Rust 150 kat (%15.000) daha hızlıdır ve Python ile karşılaştırıldığında yaklaşık aynı miktarda bellek kullanır.
SecondState, Rust programlarının, geliştirilmiş performans, güvenlik, güvenlik ve taşınabilirlikten yararlandıkları WebAssembly sanal makinelerinde optimize edildiği sonucuna varmıştır.
Second State tarafından yürütülen ve IEEE Software’de sunulan bir karşılaştırmalı WebAssembly çalışmasında, ParaState’in İkinci Durum Sanal Makinesi (SSVM), önde gelen WebAssembly olmayan çalışma zamanı çözümü Docker’dan en az 10 kat daha hızlı soğuk başlatma ve yürütme süreleri gösterdi.
Rust, geçen yıl program geliştirme dünyasında sessiz bir devrim gerçekleştirdi. Rust, 2021 Geliştirici Anketi’nde 181 ülkede geliştiriciler arasında en sevilen programlama dili seçildi. Geliştiricilerin yalnızca yüzde 7'si tarafından kullanılan Rust en çok sevilen (%86.98) iken, geliştiricilerin yüzde 23'ü tarafından kullanılan C++ en korkulanlar (%49.24) arasındaydı. Blok zincirinin kullanımı arttıkça Rust, geliştiricilerin yüzde 65'i tarafından kullanılan C++ ve JavaScript’e yaklaşmaya başlayabilir.
Hackathons’ta SewUp’ta Nasıl Ustalaşılır?
Bu avantajlar göz önüne alındığında, SewUp araç setini öğrenmeye istekli geliştiriciler, bu sonbaharda Substrate tabanlı blok zincirleri için en popüler hackathonlara akın ediyor. Polkadot’taki geliştiriciler, Substrate Rust Docs’u @Polkadot Hackathon 2021'in temel direği olarak adlandırdı.
Polkadot teknoloji yığınının temeli olan Substrate, Rust ve ikincil olarak JavaScript kullanılarak WebAssembly’de (Wasm) tasarlanmıştır. Kullanımı kolay ve hızlı Rust dili, Substrate’ın blok zincirleri ve dApp’ler oluşturmayı lego oluşturmak kadar kolay hale getirme hedefine çok uygundur. Substrate, blok zincirleri aylar yerine günler içinde oluşturmak için ağ mantığı ve işlem kuyrukları gibi blok zincirleri oluşturmak için ortak soyutlamaların yapı taşları olan bir kutu içinde blok zinciridir. Wasm, başlıca tarayıcılarda ve diğerlerinin yanı sıra Google, Apple ve Microsoft tarafından halihazırda kullanılan hızlı kodlama ve derlemeye izin veren açık kaynaklı bir araçtır.
Geliştiriciler, Rust’ta WebAssembly’ı kullanarak farklı platformlar ve cihazlar (PC’ler, mobil) üzerinde tutarlı bir istemci çalıştırabilir. Çalışma zamanı bir zincire yüklenebilir, bu da Polkadot’un birlikte çalışabilir zincirlerden oluşan ekosistemini oluşturmayı kolaylaştırır.
Benzer şekilde, ParaState’in SSVM sanal makinesi, Ethereum dApp’lerini kolayca oluşturmak ve yüksek performanslı Substrate zincirlerine taşımak için oluşturuldu. Rust Hackathon’daki ParaState Writing Ethereum WebAssembly’de araç seti şunları içerir:
-Rust Sew-up SDK
-BUILDL, a browse-based IDE
-Substrate SSVM node
Bu araçlarla geliştiriciler, Polkadot gibi yüksek performanslı Substrate blok zincirlerinde çalışan SSVM paletini kullanarak Ethereum dApp’leri oluşturabilir.
Hackathon katılımcıları, NFT pazar yerleri, metaversiyonlar ve merkezi olmayan borsalar inşa ediyor. 100.000 dolarlık ödül kapmak için hazır. Projeler açık kaynak olmalı ve ParaState test ağı Plato’da konuşlandırılmalıdır.
Rust’ta SewUp ile inşa etmek gerçekten de Lego yapı taşları hissine sahip. Substrat.io’da geliştiriciler, SewUp’ta temel depolama geçişi veya çalışma zamanınıza bir palet entegre etme gibi belirli görevlerin nasıl uygulanacağı hakkında basit öğreticiler, Nasıl Yapılır Kılavuzları bulabilir. ParaState, bir NFT pazar yerleri, depolama ve diğer uygulamalar için dApp’ler oluşturmak için adım adım SewUp talimatları sağlar.
Geliştiriciler, GitHub’daki SecondState SewUp kitaplığına erişebilir.
ParaState Hakkında
Steroidler üzerinde Ethereum olarak bilinen ParaState, uygulama ve geliştirici ekosistemi arasında Polkadot, Substrate ve Ethereum ile Ethereum uyumluluğu sağlamak isteyen diğer zincirler arasında köprü kuran çok zincirli bir akıllı sözleşme platformudur. ParaState, mevcut tüm Ethereum uygulamalarıyla sorunsuz uyumluluk sağlamak için EVM paletini desteklerken, geliştiricilere yeni nesil akıllı sözleşme uygulama ortamı olan Ethereum aromalı WebAssembly sağlar. Bu iki altyapının ParaState üzerinde birbiriyle konuşması ve aynı hesap sistemini paylaşması sağlanmaktadır.
Website | Blog | Twitter | Telegram | Discord | Facebook | Github