
Subscribe to 0xBasar

Subscribe to 0xBasar
Share Dialog
Share Dialog


<100 subscribers
<100 subscribers
Nick’in dün yayınladığı 41 tweetlik flood’u Türkçe’ye çevirdim. Bazı tweetlerin altına eklediği bağlantıları da aynı şekilde ekledim. Teknik olarak ileri seviye diyebileceğim bu flood Fuel’in özelliklerinden bahsetmektedir.
Kendim öğrenmeye çalıştığım konular hakkında merak edenlere de faydalı olmaya çalışıyorum. Faydalandıysanız ne mutlu bana.
Bugün FuelVM'nin neden EVM olduğunu, ve fakat büyük ölçüde geliştirilmiş olduğunu ve bunun blokzincirin geleceği için ne anlama geldiğini tartışacağım.
EVM performansını iyileştirmek için uygulamaya hazır sayısız yaklaşım var. Fakat, bunların birçoğu Ethereum protokolünün geriye dönük uyumluluğunu ve süreçteki birçok dapp'i bozacaktır.
Taze bir başlangıca ihtiyaç var.
Ethereum üzerine inşa edilmiş yürütme katmanları (Execution Layers) bize daha iyi bir şeyler inşa etmek için yeni bir fırsat veriyor. Tasarımların geriye dönük uyumlu olması gerekmez ve aslında Ethereum için küresel verim ve benimseme sağlamak için ne gerekiyorsa yapabilir.
Yürütme katmanları ileriye doğru bir yol sağlar.
Bir zamanlar, herhangi bir CPU mimarisinin x86 dışında bir şey olabileceği düşünülemezdi, ancak zaman geçtikçe ve alternatiflerin faydaları ortaya çıktıkça, ARM şimdi birçok mobil üründe ve Apple ürününde çok fazla kullanılıyor.
FuelVM'de de benzer bir ışık görüyoruz.
EVM'nin L1 veya L2 olarak kullanılmaya devam etmesi; blok zinciri uygulamaları için pahalı ve son derece kısıtlı bir tasarım alanı yaratacak, küresel erişilebilirliği sadece bunu karşılayabilecek birkaç kişiyle sınırlayacak, DeFi projelerini kısıtlayacak ve büyümeyi azaltacaktır.
Küresel talep arttıkça ve hesaplama alanı (compute space) daha kıt hale geldikçe, uygulamalar, Ethereum'a ve EVM'ye daha iyi alternatifler aramaya başlayacak ve bunlardan taşınmaya zorlanacak.
Birçok yönden FuelVM'yi, WASM, Bitcoin ve diğer popüler blokzincirlerinden (çalışma zamanlarından - runtime) öğrenilenlere ek olarak, yıllar boyunca uygulanan en güçlü fikirlerin bulunduğu bir EVM olarak düşünebilirsiniz.
Bir anlamda: FuelVM, 'büyük ölçüde geliştirilmiş' bir EVM'dir.
Fakat nasıl farklı?
Yeni başlayanlar için FuelVM, 256 değil 64-bit kelimeler kullanır. 256-bit EVM'de bize iyi hizmet etmiş olsa da, FuelVM'deki kütüphaneler, büyük sayılar gibi şeyleri işlemek için uygulama düzeyinde verimli bir şekilde oluşturulabildiğinden, bu kelime boyutunu korumaya pek gerek yoktur.
https://medium.com/coinmonks/10-evm-design-mistakes-7c9a75a77ee9
FuelVM, yığın tabanlı (stack-based) yerine kayıt tabanlıdır (register-based).
Blok zincirlerde her işlem ücretlendirilir. Görüldüğü gibi, bu ek yük çok pahalıdır. Aynı miktarda işi yapmak için gereken işlem sayısını azaltmak için optimizasyon, çok büyük avantajlara sahiptir.
Kayıt tabanlı VM'ler, yığın tabanlı VM'lere kıyasla genellikle aynı işi yapmak için daha az talimat gerektirir.
Bu sebeple FuelVM'ye güzel bir uyum gösterirler.
FuelVM, yeni bir bellek mimarisine sahiptir.
EVM'de her kontrat çağrısı, iletilen veya döndürülen verileri seri hale getirmelidir. Bu, kontratlar arası iletişimi ciddi şekilde sınırlayan israf edilmiş bir işlemdir.
Fuel ile, kontratlar arasında arama yapmak, yalnızca işaretçileri verilere aktarmak kadar kolaydır, çünkü tüm çağrı yapıları (call frames), paylaşılan bir bellek bloğundan herhangi bir yerde okuyabilir.
https://github.com/FuelLabs/fuel-specs/blob/master/specs/vm/instruction_set.md
FuelVM, sahtekarlık kanıtlanabilirliği (fraud-provability) için tasarlanmıştır.
EVM, sahtekarlık kanıtları oluşturmak için zor bir yapıdır. Genellikle WASM veya MIPS gibi ikincil bir katmanın, sahtekarlıkla kanıtlanabilir bir sisteme yorumlanmasını bile gerektirir.
FuelVM, en başından beri sahtekarlığı kanıtlayacak şekilde tasarlanmıştır, tüm operasyonlar bu özellik göz önünde bulundurularak seçilmiştir.
FuelVM'nin birden çok yerel varlığı vardır.
Ethereum'da tek yerel varlık Ether'dir. Maliyet anlamında birinci sınıf muamele gören ve bir çağrı yoluyla itilip çekilen bir tek O'dur.
Fuel'de herhangi bir kontrat, bir dizi kolay varlık işlem kodu kullanarak kendi UTXO tabanlı yerel varlığını basabilir. Bunların tümü, yerel düzeyde arama ve optimizasyonun avantajlarını elde edebilir.
https://fuellabs.github.io/sway/v0.16.2/blockchain-development/native_assets.html
FuelVM, dinamik uzunluk memcopy, memequal ve memclear gibi kaynak kısıtlı sistemlere yardımcı olan birçok operasyona sahiptir.
Bu işlemleri EVM'de yapmak, yineleme ve döngüler kullanmayı gerektirir, bu da bellek alanları üzerinde çalışmayı olması gerekenden daha pahalı hale getirir.
FuelVM, yüklemler adı verilen bir tür hesap soyutlamasını zaten içeriyor.
Bitcoin'den devralınan ödeme komut dosyası hash'inin (pay to script hash) bir türü, bir harcama koşulu komut dosyasına (spending condition script hash) coin gönderebilir. Bu, çoklu imzalar gibi şeylerin herhangi bir sözleşme olmaksızın kullanılmasına ve oluşturulmasına izin verir.
FuelVM, komut dosyalarıyla UX'den onay/aktarma ihtiyacını ortadan kaldırır.
EVM'den farklı olarak FuelVM, bir kontrat dağıtılmadan (deploy) bir kaynak göndericiden birçok eylemin gerçekleşmesine izin veren komut dosyalarına sahiptir.
FuelVM, başlangıçtan itibaren atomik bir UTXO paradigması ile inşa edilmiştir.
Hesap modelinden farklı olarak Fuel, daha verimli bir varlık transferi ve mülkiyeti sağlayan bir UTXO sistemi kullanır; burada fonlar her aktarıldığında hesap ağacının yeniden oluşturulması gerekmez.
FuelVM, denetlenebilirlik için tasarlanmıştır.
EVM'den farklı olarak, FuelVM'nin operasyonlarını uç durumları denetlemeyi göz önünde bulundurarak tasarladık ve kendi kendini yok etme durumları gibi tuhaf durumlarla karşılaşmamamızı sağlamak için her bir işlem kodunun olası yan etki sonuçlarını basitleştirdik.
FuelVM, çok tanıklı, çok girişli, çok çıkışlı işlemler için tasarlanmıştır.
Bir işlem, geliştiriciye işlem (transaction) düzeyinde çok daha fazla seçenek sunan birçok farklı tanık ve yerel varlık içerebilir.
FuelVM, farklı sig-hash durumları sağlar.
Bu, birden fazla taraf tarafından kısmen imzalanmış işlemlere izin verebileceğinden, meta işlemler gibi şeylerin işlem düzeyinde yapılabileceği anlamına gelir.
FuelVM, tüm işlemi bellekte sağlar.
Bu, kısıtlayıcı mantığın tipik olarak kullanılacağı koşullu harcama koşulları için özellikle önemli olan yürütme sırasında tüm işlem ayrıntılarının iç gözleminin daha iyi yapılmasını sağlar.
FuelVM, güvenli matematik ile kuşanmış olarak gelir.
Ethereum'da tek bir kütüphanenin sayısız dağıtımı vardır: güvenli matematik. FuelVM bunu VM düzeyinde sağlar ve istendiğinde etkinleştirilebilir veya devre dışı bırakılabilir.
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/math/SafeMath.sol
FuelVM talimatları 32-bit kelime uyumludur (aligned).
EVM bayt kodu, sözcük uyumlu değildir, bu da ayrıştırmayı olması gerekenden daha karmaşık hale getirir.
Tüm FuelVM işlemleri, verimli ayrıştırma, sahtekarlık kanıtlanabilirliği ve denetlenebilirlik için tasarlanan 32 bit sözcük uyumludur.
FuelVM, yığın yönetimi (heap management) için tasarlanmıştır.
EVM'den farklı olarak FuelVM, yığınları yönetmek için hoş operasyonlarla yüklü olarak gelir. Ortak dinamik bellek içi veri yapılarını kullanmak için toplam maliyeti azaltır.
https://github.com/FuelLabs/fuel-specs/blob/master/specs/vm/instruction_set.md#aloc-allocate-memory
FuelVM, takımlarla (tooling) dikey olarak entegre olacak şekilde tasarlanmıştır.
Başlangıçta bir dil olmadan tasarlanan EVM'den farklı olarak FuelVM, kendine eşlik eden dili @swaylang ile birlikte oluşturulmuştur ve (swaylang)'in, bir işlemin (transaction) belirli kısımlarını almak gibi kullanışlı ve verimli özelliklere sahip olduğundan emin olunmuştur.
Düz-ingilizce özelliği.
Ethereum yellow paper'ı, EVM'yi detaylandırma hedeflerini gerçekleştirirken Okuması ve yorumlaması kolay bir belge değildi.
FuelVM, geliştiriciler ve denetçiler için kolay anlaşılması için işaretlemede düz İngilizce olarak belgelenmiştir.
Ethereum ile hashing ve imzalama için geriye dönük uyumluluk.
FuelVM, MetaMask veya Ethereum Ledger uygulaması gibi standartlaştırılmış Ethereum cüzdanlarından hesap yönetimi, imza oluşturma ve hash oluşturmayı sağlayan Ethereum'un keccak256 operasyonuna sahiptir.
Şube (Branch) optimizasyonu.
Tüm FuelVM operasyonları, operasyon başına meydana gelen dahili şubelerin(branch) azaltılması için maksimum optimizasyon fırsatı sağlamak üzere tasarlanmıştır.
Şube sayısını azaltmak, aynı davranışları gerçekleştirirken operasyonların daha ucuza fiyatlanabilmesi anlamına gelir.
Standartlaştırılmış hash için tercih: sha256.
FuelVM, keccak256 Ethereum'dan hem çok güvenli, hem daha verimli hem de resmi olarak standartlaştırılmış olduğu anlaşıldığından, tüm büyük karma işlemleri için sha256 kullanır.
Kurucunun(constructor) kaldırılması.
EVM, sözleşmeli kuruculara izin verirken, potansiyel yan etkiler nedeniyle bir güvenlik riski de ekler.
FuelVM, uç durumları ortadan kaldıran ancak yine de bir geliştiricinin bir sözleşmenin ilk durumunu ayarlamasına izin veren daha basit bir depolama başlangıcına(inin) izin verir.
Tüm kontrat kimlikleri deterministiktir.
EVM için, deterministik sözleşme kimlikleri yalnızca create2 ile bir gerçekten sonra eklendi.
FuelVM, varsayılan olarak deterministik sözleşme adreslerini etkinleştirir. Tüm kontrat kimlikleri, bir parçanın(salt), kontrat kodunun ve başlangıç durumunun özetidir.
FuelVM, benzer kontrat ve çağrı paradigmalarını sürdürür.
Diğer EVM olmayan tasarımların aksine Fuel, Ethereum ile alıştığımız tanıdık kontrat ve çağrı paradigmalarını geride bırakmaz, ancak scriptlerle deneyimi geliştirir.
https://fuellabs.github.io/sway/v0.16.2/blockchain-development/calling_contracts.html
FuelVM benzer depolama işlemlerine sahiptir.
WASM çalışma zamanlarından (runtime) farklı olarak Fuel, Ethereum'un kullanışlı depolama API'sini tutar ve bireysel hesapların geliştirici tarafından yönetilmesi gerekmeyen tanıdık bir anahtar/değer deposu modeline izin verir.
FuelVM'nin nasıl çalıştığını görmek istiyorsanız, lütfen aşağıdaki linkten -@SwayLang ve Fuel devnet'teki FuelVM kullanılarak oluşturulmuş- Uniswap tarzı bir DEX olan SwaySwap'a bakın.
FuelVM kullanarak geliştirme yapmak istiyorsanız, Sway Book'u okuyarak ve ilk Fuel uygulamanızı geliştirerek başlayın.
FuelVM'yi incelemek istiyorsanız, bootcamp'ine göz atın.
FuelVM'nin hedeflenen amacı, dünyaya verimli, taşınabilir, sahtekarlık kanıtlanabilir ve erişilebilir bir blok zinciri sanal makinesi sağlamaktır.
FuelVM'nin otonom geleceği sağlamak için kritik olduğuna inanıyoruz.
Daha fazlasını discordda konuşalım!
Nick’in dün yayınladığı 41 tweetlik flood’u Türkçe’ye çevirdim. Bazı tweetlerin altına eklediği bağlantıları da aynı şekilde ekledim. Teknik olarak ileri seviye diyebileceğim bu flood Fuel’in özelliklerinden bahsetmektedir.
Kendim öğrenmeye çalıştığım konular hakkında merak edenlere de faydalı olmaya çalışıyorum. Faydalandıysanız ne mutlu bana.
Bugün FuelVM'nin neden EVM olduğunu, ve fakat büyük ölçüde geliştirilmiş olduğunu ve bunun blokzincirin geleceği için ne anlama geldiğini tartışacağım.
EVM performansını iyileştirmek için uygulamaya hazır sayısız yaklaşım var. Fakat, bunların birçoğu Ethereum protokolünün geriye dönük uyumluluğunu ve süreçteki birçok dapp'i bozacaktır.
Taze bir başlangıca ihtiyaç var.
Ethereum üzerine inşa edilmiş yürütme katmanları (Execution Layers) bize daha iyi bir şeyler inşa etmek için yeni bir fırsat veriyor. Tasarımların geriye dönük uyumlu olması gerekmez ve aslında Ethereum için küresel verim ve benimseme sağlamak için ne gerekiyorsa yapabilir.
Yürütme katmanları ileriye doğru bir yol sağlar.
Bir zamanlar, herhangi bir CPU mimarisinin x86 dışında bir şey olabileceği düşünülemezdi, ancak zaman geçtikçe ve alternatiflerin faydaları ortaya çıktıkça, ARM şimdi birçok mobil üründe ve Apple ürününde çok fazla kullanılıyor.
FuelVM'de de benzer bir ışık görüyoruz.
EVM'nin L1 veya L2 olarak kullanılmaya devam etmesi; blok zinciri uygulamaları için pahalı ve son derece kısıtlı bir tasarım alanı yaratacak, küresel erişilebilirliği sadece bunu karşılayabilecek birkaç kişiyle sınırlayacak, DeFi projelerini kısıtlayacak ve büyümeyi azaltacaktır.
Küresel talep arttıkça ve hesaplama alanı (compute space) daha kıt hale geldikçe, uygulamalar, Ethereum'a ve EVM'ye daha iyi alternatifler aramaya başlayacak ve bunlardan taşınmaya zorlanacak.
Birçok yönden FuelVM'yi, WASM, Bitcoin ve diğer popüler blokzincirlerinden (çalışma zamanlarından - runtime) öğrenilenlere ek olarak, yıllar boyunca uygulanan en güçlü fikirlerin bulunduğu bir EVM olarak düşünebilirsiniz.
Bir anlamda: FuelVM, 'büyük ölçüde geliştirilmiş' bir EVM'dir.
Fakat nasıl farklı?
Yeni başlayanlar için FuelVM, 256 değil 64-bit kelimeler kullanır. 256-bit EVM'de bize iyi hizmet etmiş olsa da, FuelVM'deki kütüphaneler, büyük sayılar gibi şeyleri işlemek için uygulama düzeyinde verimli bir şekilde oluşturulabildiğinden, bu kelime boyutunu korumaya pek gerek yoktur.
https://medium.com/coinmonks/10-evm-design-mistakes-7c9a75a77ee9
FuelVM, yığın tabanlı (stack-based) yerine kayıt tabanlıdır (register-based).
Blok zincirlerde her işlem ücretlendirilir. Görüldüğü gibi, bu ek yük çok pahalıdır. Aynı miktarda işi yapmak için gereken işlem sayısını azaltmak için optimizasyon, çok büyük avantajlara sahiptir.
Kayıt tabanlı VM'ler, yığın tabanlı VM'lere kıyasla genellikle aynı işi yapmak için daha az talimat gerektirir.
Bu sebeple FuelVM'ye güzel bir uyum gösterirler.
FuelVM, yeni bir bellek mimarisine sahiptir.
EVM'de her kontrat çağrısı, iletilen veya döndürülen verileri seri hale getirmelidir. Bu, kontratlar arası iletişimi ciddi şekilde sınırlayan israf edilmiş bir işlemdir.
Fuel ile, kontratlar arasında arama yapmak, yalnızca işaretçileri verilere aktarmak kadar kolaydır, çünkü tüm çağrı yapıları (call frames), paylaşılan bir bellek bloğundan herhangi bir yerde okuyabilir.
https://github.com/FuelLabs/fuel-specs/blob/master/specs/vm/instruction_set.md
FuelVM, sahtekarlık kanıtlanabilirliği (fraud-provability) için tasarlanmıştır.
EVM, sahtekarlık kanıtları oluşturmak için zor bir yapıdır. Genellikle WASM veya MIPS gibi ikincil bir katmanın, sahtekarlıkla kanıtlanabilir bir sisteme yorumlanmasını bile gerektirir.
FuelVM, en başından beri sahtekarlığı kanıtlayacak şekilde tasarlanmıştır, tüm operasyonlar bu özellik göz önünde bulundurularak seçilmiştir.
FuelVM'nin birden çok yerel varlığı vardır.
Ethereum'da tek yerel varlık Ether'dir. Maliyet anlamında birinci sınıf muamele gören ve bir çağrı yoluyla itilip çekilen bir tek O'dur.
Fuel'de herhangi bir kontrat, bir dizi kolay varlık işlem kodu kullanarak kendi UTXO tabanlı yerel varlığını basabilir. Bunların tümü, yerel düzeyde arama ve optimizasyonun avantajlarını elde edebilir.
https://fuellabs.github.io/sway/v0.16.2/blockchain-development/native_assets.html
FuelVM, dinamik uzunluk memcopy, memequal ve memclear gibi kaynak kısıtlı sistemlere yardımcı olan birçok operasyona sahiptir.
Bu işlemleri EVM'de yapmak, yineleme ve döngüler kullanmayı gerektirir, bu da bellek alanları üzerinde çalışmayı olması gerekenden daha pahalı hale getirir.
FuelVM, yüklemler adı verilen bir tür hesap soyutlamasını zaten içeriyor.
Bitcoin'den devralınan ödeme komut dosyası hash'inin (pay to script hash) bir türü, bir harcama koşulu komut dosyasına (spending condition script hash) coin gönderebilir. Bu, çoklu imzalar gibi şeylerin herhangi bir sözleşme olmaksızın kullanılmasına ve oluşturulmasına izin verir.
FuelVM, komut dosyalarıyla UX'den onay/aktarma ihtiyacını ortadan kaldırır.
EVM'den farklı olarak FuelVM, bir kontrat dağıtılmadan (deploy) bir kaynak göndericiden birçok eylemin gerçekleşmesine izin veren komut dosyalarına sahiptir.
FuelVM, başlangıçtan itibaren atomik bir UTXO paradigması ile inşa edilmiştir.
Hesap modelinden farklı olarak Fuel, daha verimli bir varlık transferi ve mülkiyeti sağlayan bir UTXO sistemi kullanır; burada fonlar her aktarıldığında hesap ağacının yeniden oluşturulması gerekmez.
FuelVM, denetlenebilirlik için tasarlanmıştır.
EVM'den farklı olarak, FuelVM'nin operasyonlarını uç durumları denetlemeyi göz önünde bulundurarak tasarladık ve kendi kendini yok etme durumları gibi tuhaf durumlarla karşılaşmamamızı sağlamak için her bir işlem kodunun olası yan etki sonuçlarını basitleştirdik.
FuelVM, çok tanıklı, çok girişli, çok çıkışlı işlemler için tasarlanmıştır.
Bir işlem, geliştiriciye işlem (transaction) düzeyinde çok daha fazla seçenek sunan birçok farklı tanık ve yerel varlık içerebilir.
FuelVM, farklı sig-hash durumları sağlar.
Bu, birden fazla taraf tarafından kısmen imzalanmış işlemlere izin verebileceğinden, meta işlemler gibi şeylerin işlem düzeyinde yapılabileceği anlamına gelir.
FuelVM, tüm işlemi bellekte sağlar.
Bu, kısıtlayıcı mantığın tipik olarak kullanılacağı koşullu harcama koşulları için özellikle önemli olan yürütme sırasında tüm işlem ayrıntılarının iç gözleminin daha iyi yapılmasını sağlar.
FuelVM, güvenli matematik ile kuşanmış olarak gelir.
Ethereum'da tek bir kütüphanenin sayısız dağıtımı vardır: güvenli matematik. FuelVM bunu VM düzeyinde sağlar ve istendiğinde etkinleştirilebilir veya devre dışı bırakılabilir.
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/math/SafeMath.sol
FuelVM talimatları 32-bit kelime uyumludur (aligned).
EVM bayt kodu, sözcük uyumlu değildir, bu da ayrıştırmayı olması gerekenden daha karmaşık hale getirir.
Tüm FuelVM işlemleri, verimli ayrıştırma, sahtekarlık kanıtlanabilirliği ve denetlenebilirlik için tasarlanan 32 bit sözcük uyumludur.
FuelVM, yığın yönetimi (heap management) için tasarlanmıştır.
EVM'den farklı olarak FuelVM, yığınları yönetmek için hoş operasyonlarla yüklü olarak gelir. Ortak dinamik bellek içi veri yapılarını kullanmak için toplam maliyeti azaltır.
https://github.com/FuelLabs/fuel-specs/blob/master/specs/vm/instruction_set.md#aloc-allocate-memory
FuelVM, takımlarla (tooling) dikey olarak entegre olacak şekilde tasarlanmıştır.
Başlangıçta bir dil olmadan tasarlanan EVM'den farklı olarak FuelVM, kendine eşlik eden dili @swaylang ile birlikte oluşturulmuştur ve (swaylang)'in, bir işlemin (transaction) belirli kısımlarını almak gibi kullanışlı ve verimli özelliklere sahip olduğundan emin olunmuştur.
Düz-ingilizce özelliği.
Ethereum yellow paper'ı, EVM'yi detaylandırma hedeflerini gerçekleştirirken Okuması ve yorumlaması kolay bir belge değildi.
FuelVM, geliştiriciler ve denetçiler için kolay anlaşılması için işaretlemede düz İngilizce olarak belgelenmiştir.
Ethereum ile hashing ve imzalama için geriye dönük uyumluluk.
FuelVM, MetaMask veya Ethereum Ledger uygulaması gibi standartlaştırılmış Ethereum cüzdanlarından hesap yönetimi, imza oluşturma ve hash oluşturmayı sağlayan Ethereum'un keccak256 operasyonuna sahiptir.
Şube (Branch) optimizasyonu.
Tüm FuelVM operasyonları, operasyon başına meydana gelen dahili şubelerin(branch) azaltılması için maksimum optimizasyon fırsatı sağlamak üzere tasarlanmıştır.
Şube sayısını azaltmak, aynı davranışları gerçekleştirirken operasyonların daha ucuza fiyatlanabilmesi anlamına gelir.
Standartlaştırılmış hash için tercih: sha256.
FuelVM, keccak256 Ethereum'dan hem çok güvenli, hem daha verimli hem de resmi olarak standartlaştırılmış olduğu anlaşıldığından, tüm büyük karma işlemleri için sha256 kullanır.
Kurucunun(constructor) kaldırılması.
EVM, sözleşmeli kuruculara izin verirken, potansiyel yan etkiler nedeniyle bir güvenlik riski de ekler.
FuelVM, uç durumları ortadan kaldıran ancak yine de bir geliştiricinin bir sözleşmenin ilk durumunu ayarlamasına izin veren daha basit bir depolama başlangıcına(inin) izin verir.
Tüm kontrat kimlikleri deterministiktir.
EVM için, deterministik sözleşme kimlikleri yalnızca create2 ile bir gerçekten sonra eklendi.
FuelVM, varsayılan olarak deterministik sözleşme adreslerini etkinleştirir. Tüm kontrat kimlikleri, bir parçanın(salt), kontrat kodunun ve başlangıç durumunun özetidir.
FuelVM, benzer kontrat ve çağrı paradigmalarını sürdürür.
Diğer EVM olmayan tasarımların aksine Fuel, Ethereum ile alıştığımız tanıdık kontrat ve çağrı paradigmalarını geride bırakmaz, ancak scriptlerle deneyimi geliştirir.
https://fuellabs.github.io/sway/v0.16.2/blockchain-development/calling_contracts.html
FuelVM benzer depolama işlemlerine sahiptir.
WASM çalışma zamanlarından (runtime) farklı olarak Fuel, Ethereum'un kullanışlı depolama API'sini tutar ve bireysel hesapların geliştirici tarafından yönetilmesi gerekmeyen tanıdık bir anahtar/değer deposu modeline izin verir.
FuelVM'nin nasıl çalıştığını görmek istiyorsanız, lütfen aşağıdaki linkten -@SwayLang ve Fuel devnet'teki FuelVM kullanılarak oluşturulmuş- Uniswap tarzı bir DEX olan SwaySwap'a bakın.
FuelVM kullanarak geliştirme yapmak istiyorsanız, Sway Book'u okuyarak ve ilk Fuel uygulamanızı geliştirerek başlayın.
FuelVM'yi incelemek istiyorsanız, bootcamp'ine göz atın.
FuelVM'nin hedeflenen amacı, dünyaya verimli, taşınabilir, sahtekarlık kanıtlanabilir ve erişilebilir bir blok zinciri sanal makinesi sağlamaktır.
FuelVM'nin otonom geleceği sağlamak için kritik olduğuna inanıyoruz.
Daha fazlasını discordda konuşalım!
No activity yet