MOVE dilinin ilk GAS tasarımı: on-chain GAS ücret hesaplama yöntemlerini keşfetmek
MOVE dilinin bir önceki versiyonu aslında GAS'sız bir ortamda çalışması planlandığından, GAS için bir tasarım hazırlanmamıştı. Son zamanlarda, bir blok zinciri proje ekibi, MOVE diline dayalı zinciri için ilk GAS tasarım planını duyurdu ve bu, bir "macera" denemesi olarak adlandırılıyor.
Bu GAS planında, ekip GAS'ın prensiplerini, süreçlerini, hesaplama yöntemlerini ve sonraki ayarlama mekanizmalarını belirlemiştir ve topluluğun önerilere açık olduğunu belirtmiştir.
GAS ölçümü, bu projenin ve birçok diğer blok zincirinin temel kavramıdır; bu, on-chain işlemleri gerçekleştirmek ve depolamak için gereken hesaplama ve depolama kaynaklarının soyut hesaplamasını tanımlar. GAS planı, on-chain tüm işlemlerin maliyetini belirler ve işlem gerçekleştirilirken kullanılan GAS ücretlerini hesaplamak için kullanılır.
süreç
Bu projeyi etkili bir şekilde yürütmek için on-chain süreç şudur:
Tanım İlkeleri
Değerlendirme çerçevesini hazırlayın, her bir işlemin fiyatını belirleyin.
MOVE için bir GAS ölçüm sistemi ve güvenli GAS cebir kurun
Yukarı akış GAS çerçevesini projeye dahil et
GAS çerçevesini depolama bilincine sahip yapmak
GAS planını daha da ayrıntılandırmak
ilke
Tanımlanan prensipler şunlardır:
İşlem maliyetleri, ağda mevcut kaynaklarla doğrudan ilişkili olmalı ve teknolojik ilerlemelerle birlikte azalmalıdır.
GAS, on-chain yönetişim tarafından ayarlanmalı ve esnek bir şekilde yapılandırılabilir.
GAS, DoS saldırılarını önleyebilir ve ağ durumuna göre hızlı bir şekilde ayarlama yapabilir.
GAS fiyatı, projenin vakfının büyümeyi teşvik etme ve blok zincirinin erişilebilirliğini koruma vizyonunu yansıtır.
Güvenlik, modülerlik gibi konulara odaklanarak tasarımda mükemmel seçimler yapmaya teşvik edin.
GAS hesaplama
Kullanıcı işlem göndermesi gerektiğinde iki miktar belirtmelidir:
Maksimum GAS miktarı: Kullanıcının işlem gerçekleştirmek için ödemeye istekli olduğu maksimum GAS birimi sayısı
GAS birim fiyatı: her birim GAS'ın sekizlik sistemde hesaplanması, 1 sekizlik=0.00000001 yerel token
İşlem sırasında, işlem için şunlar alınacaktır:
Sabit maliyet
Uygulama maliyeti
Maliyet Okuma
Yazma maliyeti
Son işlem ücreti = Tüketilen toplam GAS miktarı × GAS birim fiyatı
Örneğin, eğer bir işlem 670 GAS birimi tüketiyorsa ve kullanıcının belirttiği GAS birim fiyatı birim başına 100 Octa ise, nihai işlem ücreti 670 × 100 = 67000 Octa = 0.00067 yerel token olacaktır.
Eğer işlem yürütme sırasında GAS tükenirse, gönderen maksimum GAS miktarı üzerinden ücretlendirilecektir ve borsa tarafından yapılan tüm değişiklikler geri alınacaktır.
GAS planı oluştur
Temel Ayarlar
GAS planı, işlem boyutu ve maksimum GAS birimi gibi tek bir işlemle ilgili olmayan birkaç bileşen içerir.
İşlem Ölçeği
Çoğu işlem boyutu kilobayt seviyesindedir, ancak Move modülünün yayımlanması birkaç kilobayta kadar çıkabilir, bu proje çerçevesi yaklaşık 100 KB'dir. Başlangıçta işlem boyutu 32KB olarak belirlenmişti, daha sonra topluluk ihtiyaçlarına göre 64KB olarak ayarlanmıştır, bu da uygulama geliştirmeyi kolaylaştırmaktadır.
Maksimum GAS birimi
GAS planındaki maksimum GAS birimi, tek bir işlemin gerçekleştirebileceği maksimum işlem sayısını tanımlar. Çok yüksek ayar, blok zinciri performansı üzerinde olumsuz bir etki yaratabilir. Şu anda 1.000.000 olarak ayarlanmıştır, maksimum çerçeve yükseltmesi bile %90'ı geçmemiştir.
Uygula
Temel çerçeve ve analiz araçları kullanarak yürütme maliyetlerini değerlendirin, tüm MOVE talimatlarının ve yerel işlevlerin göreceli maliyetlerini tahmin edin. Sistem sağlamlığını ve güvenliğini göz önünde bulundurarak, nihai yürütme makine talimatı sayısını belirleyin ve depolama ile maksimum GAS birimi arasında bir denge kurun.
Depolama
Depolama GAS planı, veri erişiminin anlık kıtlığını ve kalıcı disk kullanım maliyetini dikkate almıştır. Durum öğelerine erişim ve depolama, tüm blokzincir durumunu doğrulamakla ilgili maliyetler üretir. Depolama GAS ücreti = Proje ücreti + ( bayt ücreti × Bayt sayısı )
oku, oluştur ve yaz
Durum öğesi erişimi, okuma, oluşturma ve yazma olmak üzere üç türde sınıflandırılır ve her birinin farklı maliyet hesaplama yöntemleri vardır. Okuma işlemi en yaygın olanıdır, oluşturma işlemi en yüksek maliyete sahiptir, yazma işlemi ise bunların arasında bir yere sahiptir.
Bu nedenle, 6 GAS parametresi tanımlandı:
per_item_read
byte başına okuma
per_item_create
per_byte_create
per_item_write
per_byte_write
stabil GAS birim maliyeti
Her işlem ve ticaret, depolama ve yürütme maliyetlerine göre sabit bir birim maliyeti gerektirir, bu da GAS planının istikrarlı kalmasına yardımcı olur. Proje ekibi, GAS birimlerini yaklaşık 3 haneli hassasiyetle gösterir ve bu da transfer işlem maliyetini yaklaşık 700 GAS birimi yapar.
Topluluk Katılımı
Bir topluluk projesi olarak, üyeler şunları yapabilir:
GAS planındaki mantıksız noktaları belirtin.
GAS planına ilişkin endişeleri ifade etmek ve tartışmalara katılmak
GAS ile ilgili yönetim tekliflerine oy verme
GAS maliyetini nasıl ayarlarsınız?
GAS planı, on-chain yapılandırma depolaması olarak, yönetim önerileri ile değiştirilebilir ve yeni talimatlar veya yerel işlevler sorunsuz bir şekilde eklenebilir. GAS parametreleri, proje ve topluluğun gelişimine uyum sağlamak için zamanla ayarlanabilir.
Bazı karmaşık GAS formül değişiklikleri, düğüm yazılımının güncellenmesini ve yeni GAS özellik bayrakları ile ayırt edilmesini gerektirebilir. Bu, düğüm operatörlerinin yeni yazılımı yaygın olarak benimsemelerini ve yeni sürümün kullanılmasını onaylamak için yönetişim önerileri aracılığıyla onay almalarını gerektirir.
Gelecek İş
MOVE dilinin ilk uygulanabilir GAS çerçevesi olarak, bu proje gelecekteki çalışmalara zemin hazırlamaktadır:
İcra maliyetlerini düşürmek
Çok boyutlu GAS hesaplaması gerçekleştirin, kullanıcıların yürütme ve depolama için ayrı bir bütçe belirlemelerine izin verin.
Şişkin durumu hafifletmek, her projenin TTL kavramını keşfetmek, TTL süresi dolduğunda ziyaret edilmeyen durum projelerini silmek
Bu GAS, MOVE dil ekosisteminin gelişimi için önemli bir temel sağlar ve gelecekte birçok optimizasyon ve iyileştirme alanı vardır.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
MOVE dilinin öncüsü GAS tasarımı: on-chain ücret hesaplaması tam analizi
MOVE dilinin ilk GAS tasarımı: on-chain GAS ücret hesaplama yöntemlerini keşfetmek
MOVE dilinin bir önceki versiyonu aslında GAS'sız bir ortamda çalışması planlandığından, GAS için bir tasarım hazırlanmamıştı. Son zamanlarda, bir blok zinciri proje ekibi, MOVE diline dayalı zinciri için ilk GAS tasarım planını duyurdu ve bu, bir "macera" denemesi olarak adlandırılıyor.
Bu GAS planında, ekip GAS'ın prensiplerini, süreçlerini, hesaplama yöntemlerini ve sonraki ayarlama mekanizmalarını belirlemiştir ve topluluğun önerilere açık olduğunu belirtmiştir.
GAS ölçümü, bu projenin ve birçok diğer blok zincirinin temel kavramıdır; bu, on-chain işlemleri gerçekleştirmek ve depolamak için gereken hesaplama ve depolama kaynaklarının soyut hesaplamasını tanımlar. GAS planı, on-chain tüm işlemlerin maliyetini belirler ve işlem gerçekleştirilirken kullanılan GAS ücretlerini hesaplamak için kullanılır.
süreç
Bu projeyi etkili bir şekilde yürütmek için on-chain süreç şudur:
ilke
Tanımlanan prensipler şunlardır:
GAS hesaplama
Kullanıcı işlem göndermesi gerektiğinde iki miktar belirtmelidir:
İşlem sırasında, işlem için şunlar alınacaktır:
Son işlem ücreti = Tüketilen toplam GAS miktarı × GAS birim fiyatı
Örneğin, eğer bir işlem 670 GAS birimi tüketiyorsa ve kullanıcının belirttiği GAS birim fiyatı birim başına 100 Octa ise, nihai işlem ücreti 670 × 100 = 67000 Octa = 0.00067 yerel token olacaktır.
Eğer işlem yürütme sırasında GAS tükenirse, gönderen maksimum GAS miktarı üzerinden ücretlendirilecektir ve borsa tarafından yapılan tüm değişiklikler geri alınacaktır.
GAS planı oluştur
GAS planı, işlem boyutu ve maksimum GAS birimi gibi tek bir işlemle ilgili olmayan birkaç bileşen içerir.
Çoğu işlem boyutu kilobayt seviyesindedir, ancak Move modülünün yayımlanması birkaç kilobayta kadar çıkabilir, bu proje çerçevesi yaklaşık 100 KB'dir. Başlangıçta işlem boyutu 32KB olarak belirlenmişti, daha sonra topluluk ihtiyaçlarına göre 64KB olarak ayarlanmıştır, bu da uygulama geliştirmeyi kolaylaştırmaktadır.
GAS planındaki maksimum GAS birimi, tek bir işlemin gerçekleştirebileceği maksimum işlem sayısını tanımlar. Çok yüksek ayar, blok zinciri performansı üzerinde olumsuz bir etki yaratabilir. Şu anda 1.000.000 olarak ayarlanmıştır, maksimum çerçeve yükseltmesi bile %90'ı geçmemiştir.
Temel çerçeve ve analiz araçları kullanarak yürütme maliyetlerini değerlendirin, tüm MOVE talimatlarının ve yerel işlevlerin göreceli maliyetlerini tahmin edin. Sistem sağlamlığını ve güvenliğini göz önünde bulundurarak, nihai yürütme makine talimatı sayısını belirleyin ve depolama ile maksimum GAS birimi arasında bir denge kurun.
Depolama GAS planı, veri erişiminin anlık kıtlığını ve kalıcı disk kullanım maliyetini dikkate almıştır. Durum öğelerine erişim ve depolama, tüm blokzincir durumunu doğrulamakla ilgili maliyetler üretir. Depolama GAS ücreti = Proje ücreti + ( bayt ücreti × Bayt sayısı )
oku, oluştur ve yaz
Durum öğesi erişimi, okuma, oluşturma ve yazma olmak üzere üç türde sınıflandırılır ve her birinin farklı maliyet hesaplama yöntemleri vardır. Okuma işlemi en yaygın olanıdır, oluşturma işlemi en yüksek maliyete sahiptir, yazma işlemi ise bunların arasında bir yere sahiptir.
Bu nedenle, 6 GAS parametresi tanımlandı:
stabil GAS birim maliyeti
Her işlem ve ticaret, depolama ve yürütme maliyetlerine göre sabit bir birim maliyeti gerektirir, bu da GAS planının istikrarlı kalmasına yardımcı olur. Proje ekibi, GAS birimlerini yaklaşık 3 haneli hassasiyetle gösterir ve bu da transfer işlem maliyetini yaklaşık 700 GAS birimi yapar.
Topluluk Katılımı
Bir topluluk projesi olarak, üyeler şunları yapabilir:
GAS maliyetini nasıl ayarlarsınız?
GAS planı, on-chain yapılandırma depolaması olarak, yönetim önerileri ile değiştirilebilir ve yeni talimatlar veya yerel işlevler sorunsuz bir şekilde eklenebilir. GAS parametreleri, proje ve topluluğun gelişimine uyum sağlamak için zamanla ayarlanabilir.
Bazı karmaşık GAS formül değişiklikleri, düğüm yazılımının güncellenmesini ve yeni GAS özellik bayrakları ile ayırt edilmesini gerektirebilir. Bu, düğüm operatörlerinin yeni yazılımı yaygın olarak benimsemelerini ve yeni sürümün kullanılmasını onaylamak için yönetişim önerileri aracılığıyla onay almalarını gerektirir.
Gelecek İş
MOVE dilinin ilk uygulanabilir GAS çerçevesi olarak, bu proje gelecekteki çalışmalara zemin hazırlamaktadır:
Bu GAS, MOVE dil ekosisteminin gelişimi için önemli bir temel sağlar ve gelecekte birçok optimizasyon ve iyileştirme alanı vardır.