Solana Web3.js 2.x: Modüler Yeniden Yapılandırma ve Performans Artışı

Solana Web3.js 2.x sürümü: Fonksiyonların ayrılması ve performans optimizasyonu

Solana Web3.js, zengin özelliklere sahip bir JavaScript kütüphanesi olarak, bu yılın Kasım ayında 2.x sürümünü resmi olarak yayınladı. 1.x sürümüne kıyasla, yeni sürümde yapı ve uygulama yöntemlerinde belirgin değişiklikler oldu. Bu makalede, bu önemli değişikliklerin bir özeti verilecek ve geliştiricilerin gelecekteki geçişe hazırlanmalarına yardımcı olunacaktır.

Web3 Yeni Başlayanlar Serisi: Şimdi @solana/web3.js 2.x'i yükselterek fonksiyonel programlamayı açın

Versiyon Karşılaştırması

1.x sürümünün ana özellikleri basit ve kullanışlı olmasıdır. Sadece bir @solana/web3.js paketi içerir, sınıf tabanlı bir tasarım benimser ve çok sayıda yaygın işlemi kapsar. Örneğin, Connection sınıfı, geliştiricilerin ihtiyaç duyduğu tüm işlevleri neredeyse kapsayan onlarca yöntem sunar. Ancak, bu tasarım bazı sorunları da beraberinde getirir; örneğin, kod kütüphanesi büyük bir boyuta sahiptir ve kullanıcı cihazlarının ihtiyaç duymadığı çok sayıda kodu indirmesi gerekebilir.

2.x versiyonu farklı bir strateji benimsemiştir. Geliştirme ekibi, kod tabanını @solana/accounts, @solana/codecs, @solana/rpc gibi birçok küçük modüle ayırmıştır. Yeni versiyon, sınıf tabanlı uygulamayı bırakmış ve bunun yerine tek bir fonksiyon kullanma yoluna gitmiştir, bu da JavaScript kodunun derlenmesi sırasında optimizasyon için faydalıdır. Kullanılmayan kodlar silinecek ve kullanıcı cihazlarına indirilmeyecektir. Resmi istatistiklere göre, yeni versiyonu kullanan DApp'ler genellikle %30 oranında bir boyut optimizasyonu elde edebilmektedir, eğer sadece az sayıda özellik kullanılırsa, optimizasyon oranı daha yüksek olabilir.

2.x sürümünün bir diğer önemli özelliği sıfır bağımlılıktır. 1.95.5 ve 1.95.6 sürümlerinde meydana gelen tedarik zinciri saldırıları göz önüne alındığında, dış bağımlılıkların azaltılması güvenlik risklerini önemli ölçüde azaltabilir. Yeni sürüm, daha fazla yerel işlev kullanmakta ve dış bağımlılıkların ve Polyfills'in kullanımını ortadan kaldırmaktadır.

Önemli Değişiklikler

bağlantı

2.x sürümü, bağlantıları işlemek için daha fonksiyonel bir yaklaşım benimsemiştir. Artık Connection sınıfı kullanılmamakta, bunun yerine RPC istek adresi yapılandırılarak istek göndericisi oluşturulmaktadır. Örneğin, işlem gönderildiğinde, otomatik olarak HTTPS isteği başlatılacak ve işlem durumunu abonelik için WSS bağlantısı kurulacaktır.

anahtar çifti

Açık anahtar ve özel anahtar ile ilgili işlemler de değişti. 1.x sürümünde yaygın olarak kullanılan Keypair ve PublicKey sınıfları bazı fonksiyonlarla değiştirildi. Örneğin, artık anahtar çiftini oluşturmak için await generateKeyPair() kullanılıyor, öncekilerin yerine Keypair.generate(). Yeni uygulama, JavaScript’in Web Crypto API’sini kullanarak yerel Ed25519 uygulamasını kullanıyor, bu da bazı yöntemlerin asenkron hale gelmesine neden oldu.

işlem gönder

2.x sürümü artık Transaction ve VersionedTransaction sınıflarını kullanmıyor. System Program ile ilgili yöntemler de başka yerlerden getirilmelidir. Örneğin, transfer komutu artık @solana-program/system içindeki getTransferSolInstruction fonksiyonunu çağırmayı gerektiriyor.

Yeni sürüm, fonksiyonel programlamada yaygın olarak kullanılan pipe biçimini sunmaktadır. Geliştiriciler, pipe fonksiyonu aracılığıyla aslında 1.x sürümündeki para transferi işlevini gerçekleştirebilirler. Kod miktarı biraz artsa da, daha güçlü bir özelleştirme imkanı sunmaktadır.

React desteği

Dikkate değer olan, @solana/web3.js projesinde @solana/react adında bir kütüphane bulunduğudur; bu kütüphane bazı React Hook'ları sunmakta ve signIn gibi işlevleri içermektedir.

Özet

Solana Web3.js 2.x sürümünün yayımlanması, geliştirme ekibinin sürekli iyileştirme taahhüdünü göstermektedir. Yeni sürüm, geliştiricilere Solana ağıyla etkileşimde bulunmanın daha verimli, esnek ve özelleştirilebilir bir yolunu sunmakta, bu da platformun daha fazla gelişimi ve uygulaması için umut vaat etmektedir. Şu anda birçok projenin henüz yeni sürüme geçmediği halde, bu değişiklikleri anlamak, geliştiricilerin gelecekteki geçişe hazırlanmasına yardımcı olacaktır.

Web3 Yeni Başlayanlar Serisi: Şimdi @solana/web3.js 2.x'i güncelleyerek fonksiyonel programlamayı başlatın

SOL-3.44%
View Original
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.
  • Reward
  • 7
  • Share
Comment
0/400
ForumLurkervip
· 6h ago
Bu alt paketi bir süre kendim incelemem gerekecek.
View OriginalReply0
DiamondHandsvip
· 10h ago
Hacim küçüldü, biraz daha hızlı olamaz mı?
View OriginalReply0
StablecoinArbitrageurvip
· 07-30 14:36
*gözlüklerini ayarlıyor* hmm... performans ölçümlerim analizine dayanarak, modüllere ayırmak gecikme süresini ~47 baz puan azaltmalıdır.
View OriginalReply0
MissingSatsvip
· 07-30 14:34
Nihayet güncellemeyi bekledim, bir yıl boyunca bekledim.
View OriginalReply0
LucidSleepwalkervip
· 07-30 14:34
2.x geldi, artık öğrenemiyorum.
View OriginalReply0
DuckFluffvip
· 07-30 14:27
Hâlâ 1.x kullanıyorsan hemen güncelle!
View OriginalReply0
BrokenYieldvip
· 07-30 14:15
sonunda sol'da biraz risk yönetimi... bu kadar zaman aldı smh
View OriginalReply0
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)