Wasmd 0.30 Çıktı

Dec 20 2022
Yıl sonu yayını! Hem iyi hem de kötü birçok yönden olaylı bir 2022 oldu, öyleyse neden harika bir Wasmd sürümüyle bitirmeyesiniz? İncelememiz ve önceliklendirmemiz gereken çok sayıda topluluk özelliği talebimiz vardı ve Wasmd v0.30 ile bu yıl sonu sürümünde birçoğunu almayı başardığımızı duyurmaktan mutluluk duyuyoruz.

Yıl sonu yayını!

Unsplash'ta Aaron Burden'ın fotoğrafı

Hem iyi hem de kötü birçok yönden olaylı bir 2022 oldu, öyleyse neden harika bir Wasmd sürümüyle bitirmeyesiniz?

İncelememiz ve önceliklendirmemiz gereken çok sayıda topluluk özelliği talebimiz vardı ve Wasmd v0.30 ile bu yıl sonu sürümünde birçoğunu almayı başardığımızı duyurmaktan mutluluk duyuyoruz.

Her zamanki gibi, bu sürümü mümkün kılan tüm katkıda bulunanlara çok teşekkür ederiz!

Genel Bakış ( TLDR )

Wasmd v0.30, topluluk tarafından yoğun şekilde talep edilen epeyce değişiklik içeriyordu, olağan hata düzeltmeleri ve iyileştirmelerin yanı sıra aşağıdakileri de gönderdik:

  • Authz modülü entegrasyonu
  • Zincirler arası hesaplar v0.2.4 ile v4.2.0'a IBC yükseltmesi
  • Geliştirici kılavuzu ve en iyi uygulamaları ekleyin
  • Bump Go minimum 1.19'a
  • Devlet teklifini depolayın ve somutlaştırın
  • Hükümet oylarının daha büyük wasm bayt kodu yüklemesine izin ver
  • AcceptListStargateQuerier'ı Tanıtın
  • Oluşturucu Adresine Göre Sözleşmeler Alın
  • Destek örnekleme izni > gov mağazası için zincir izni

Authz modülü entegrasyonu

authz modülü, farklı bir hesaba (grantee) yetki vermek ve orijinal hesap (granter) adına zincir üzerinde işlemler gerçekleştirmek için kullanılan bir Cosmos-SDK modülüdür.

Bu, özel hesap anahtarını korumak için özellikle kullanışlıdır, çünkü yalnızca izin verme işlemi için gereklidir, ancak daha sonra yetki verilen anahtar kullanılabilir. Bu ayrıca, veren özel anahtara erişimin sınırlı olduğu organizasyonel veya süreç yapılarını eşleştirmek için de yararlı olabilir.

Verilen bir yetki, verenin hesabına yürütüldüğü için çok fazla güçle birlikte gelir. Bu nedenle, diğer modüllerde eylemlerin kapsamını sınırlayan belirli authz uzantıları bulunur. Örneğin, bankada. Yetkilendirme, aktarılabilecek toplam token miktarı tanımlanır.

authz modülü, bir mesaj türünü kabul eden genel bir yetkilendirme ile birlikte gelir. Bu, wasmd dahil herhangi bir Cosmos modülüyle çalışır. Buradaki sorun, wasm sözleşmelerinin normalde bir dizi işlemi desteklemesi ve ayrıntılı erişim kontrolünün mümkün olmamasıdır.

wasmd Yetkilendirme uzantısı, daha iyi bir erişim denetimi düzeyini desteklemek için oluşturulmuştur. Yürütme ve taşıma sırasında sözleşme mesajıyla eşleşecek şekilde filtreler tanımlanabilir. Wasmd, ilk yinelemede aşağıdaki filtrelerle gelir:

AllowAllMessagesFilter — herhangi bir sözleşme mesajıyla eşleşmek için joker karakter

AcceptedMessageKeysFilter — sözleşme mesajları, tam olarak bir anahtara sahip bir json nesnesi olarak yorumlanır. Bu anahtar, kabul edilecek bir kabul listesinde ayarlanabilir. Örneğin, "retract, delege" ayarlandığında, "{"withdraw": {}}" ve "{"delegate":{}}" mesajlarına izin verilir, ancak "{"sent":{}}" şu şekilde değildir: anahtar listede yok.

AcceptedMessagesFilter — bu filtre, sözleşme mesajı hakkında varsayımlarda bulunmaz. Saf ikili veriler olarak yorumlanır ve karşılaştırılır. Biçimlendirmedeki küçük değişiklikler zaten önemlidir. Örneğin, {"withdraw":{}}ayarlanan sözleşme ile mesajın olması {"withdraw":{}}gerekirken {"withdraw":{} }reddedilecektir (boşluklara dikkat edin).

Ancak bu filtrenin yararı, nesne anahtarından sonraki verileri de içermesidir. Örneğin, {"vote":"yes"}olarak değiştirilemez{"vote":"no"}

wasmd Yetkilendirme uzantısının bir diğer unsuru da sınırlardır. Verici hesap kapsamında işlem yapıldığından, banka bakiyelerine tam erişime sahiptir. Bağışlayanın bunu sınırlamak ve kontrolü elinde tutmakta biraz çıkarı vardır. Örneğin, bir {"withdraw":{}} işleminin bakiyeye erişmesi gerekmeyebilir, ancak {"delegate":{}} bunu yapar. Farklı kullanım durumlarını desteklemek için, filtrelerle ayarlanabilecek aşağıdaki limitlere sahibiz:

MaxCallsLimit — bir sözleşme tahsisinin kaç kez kullanılabileceğini tanımlayın, veren hesaptan jeton transferine izin verilmez.

MaxFundsLimit — harcanacak bir belirteç bütçesi ayarlar, çağrı sayısında sınır yoktur.

CombinedLimit — belirteç bütçesini ve kaç yürütmenin yapılabileceğini ayarlar

Limitler, her hibe uygulamasından sonra yapılan güncellemelerdir. Limit dolduğunda yetki sona erer ve kaldırılır.

Daha fazla okuma:

https://github.com/cosmos/cosmos-sdk/tree/main/x/authz

Zincirler arası hesaplar v0.2.4 ile v4.2.0'a IBC yükseltmesi

Bu yükseltme, IBC protokolü anlaşmasını ve ücretli ara katman modülü, zincirler arası hesaplar v0.2.4'ü içerir ve ayrıca ibctesting paketini günceller.

Daha fazla okuma:

https://github.com/CosmWasm/wasmd/issues/960

https://github.com/cosmos/ibc-go/blob/v4.2.0/CHANGELOG.md

https:///the-interchain-foundation/moving-relayer-incentives-on-chain-fee-middleware-fee-grant-and-budget-modules-b6a13eced375

Geliştirici kılavuzunu ve en iyi uygulamaları ekleyin.

Kodlama yönergeleri, yeni gelenlerin yanı sıra daha deneyimli geliştiricilerin kendilerini bulmasını ve yönlendirmesini kolaylaştırmak için güncellendi. En iyi uygulamalar da eklendi ve yeni ve güncellenmiş kılavuz burada bulunabilir:

Bump Go minimum 1.19'a

Cosmos-SDK'yı takip etmek için minimum Go sürümü 1.19'a yükseltildi, bu da karma bir Go 1.18/19 zincirinde fikir birliği sorunlarını önler.

Daha fazla okuma:

https://github.com/CosmWasm/wasmd/issues/1041

Devlet teklifini depolayın ve somutlaştırın

Önceki sürümlerde, yükleme wasm (depolama) ve sözleşme başlatma, 2 ayrı gov teklifi gerektiriyordu.

Artık her iki adımın da tek adım olarak yürütülmesine izin veren yeni bir gov teklif türü var.

Dolayısıyla artık daha az organizasyonel ek yükümüz ve teklif oluşturmaya bağımlılığımız var. (Mağazanın başlatılmasından önce planlanması ve yürütülmesi gerektiğinden)

Daha fazla okuma:

https://github.com/CosmWasm/wasmd/issues/785

Hükümet oylarının daha büyük wasm bayt kodu yüklemesine izin verin.

Zincirin global limitini yükseltmek istenmeyen bir durum olabileceğinden, wasm boyutunu çoğu sözleşme için makul olan 800 KB ile sınırlandırırdık; gov sözleşmelerinin bu işleve hizmet edebileceği ve normal Tx'in 800 KB'de kalmasıyla aynı anda 4 MB'a kadar wasm boyutlarına izin verebileceği önerildi.

Daha fazla okuma:

Kabul Listesi Yıldız Geçidi Sorgulayıcısını Tanıtın

Stargate sorguları, "Stargate" jenerik protobuf formatı aracılığıyla sistem durumunu sorgulamak için güçlü bir jenerik uzantı noktasıdır. Bu zincirle, agnostik veriler bir likidite havuzu gibi bir sözleşme ile sorgulanabilir.

Bu özellik, geçmişte devletin geri döndüğü deterministik olmadığı ve bu nedenle fikir birliğini bozduğu birçok soruna neden oldu. Bu kabul listesini, her zincirin birçok çatalı korumadan ve potansiyel olarak hatalara yol açmadan kendi beyaz listesini kolayca yapılandırmasına izin vermek için ekledik. Osmosis, özel modülleri için bunu etkinleştirmek üzere çatallandı ve diğer zincirler de benzer işlevsellik istedi.

Ancak kabul listesi, zincir mimarların korumak ve desteklemek istedikleri (riski kendilerine ait olmak üzere) bireysel Stargate sorguları için desteği geri eklemelerinin bir yoludur. Artık varsayılan kabul listesi boştur ve etkinleştirmek istediğiniz sorgu türlerini eklemek için zincirin Go kodunda bir değişken ayarlamanız gerekir.

Daha fazla okuma:

https://github.com/CosmWasm/wasmd/issues/904

Oluşturucu Adresine Göre Sözleşmeler Alın

Önceki sürümlerde, bir kod kimliği için tüm sözleşme örneklerini almak üzere bir sorgumuz vardı. Popüler bir kullanım durumu, bana x adresi tarafından oluşturulan tüm sözleşme örneklerini vermektir.

Bu sürümden itibaren, bu artık desteklenmektedir ve daha iyi kullanıcı deneyimi sağlar

Daha fazla okuma:

https://github.com/CosmWasm/wasmd/issues/998

Destek örnekleme izni > gov mağazası için zincir izni

Bu aynı zamanda izin verilen zincirlerde bir örnek oluşturmakla ilgilidir.

Önceki sürümlerde, bir mağaza wasm kodu ve kod örnekleme ayarlarında bir yapılandırma güncellemesi gerekiyordu; şimdi, bu sürümle birlikte, mağaza yönetimi teklifi doğru örnekleme iznini şimdiden ayarlayabilir.

Bu, gov iş akışını iyileştirir ve bir teklifi kaydeder

Daha fazla okuma:

https://github.com/CosmWasm/wasmd/issues/1020

Katılın

Gördüğün gibi mi? Twitter'da dünyaya haber verin veya Discord'daki tartışmaya katılın. Yaklaşan CosmWasm Akademi gruplarından haberdar olmak için bizi medyada takip etmeyi unutmayın veya ziyaret edinhttp://academy.cosmwasm.com, becerilerinizi geliştirebileceğiniz yer.

Ve lütfen yılın son Topluluk çağrımıza göz atın; burada 20 Aralık Salı, saat 18:00 CET'de daha erken görüşler ve soru sormak için bir alan için birçok heyecan verici duyuru yapılacak.

Gündem: https://github.com/CosmWasm/cosmwasm/issues/1548