Solana Web3.js 2.x büyük güncellemesi: Modüler tasarım performansı ve güvenliği artırıyor

robot
Abstract generation in progress

Solana Web3.js 2.x Sürümü: Fonksiyonel Programlamanın Yeni Çağı

Solana Web3.js kütüphanesi bu yılın Kasım ayında 2.x sürümünü piyasaya sürdü, 1.x sürümüne kıyasla yeni sürüm önemli değişiklikler getirdi. Bu yazı, geliştiricilerin gelecekteki geçiş çalışmaları için ana değişiklikleri özetleyecektir.

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

Sürüm Karşılaştırması

1.x sürümü basit kullanıma sahip olsa da, bazı sorunlar barındırıyor. Tüm işlevleri tek bir pakette toplaması, geliştiricilerin yalnızca az sayıda işlev kullanması durumunda bile tüm kütüphaneyi indirmelerini gerektiriyor. Bu sadece yükleme sürelerini artırmakla kalmıyor, aynı zamanda kullanıcı deneyimini de etkileyebilir.

2.x versiyonu modüler bir tasarım benimsemiştir ve mevcut kod kütüphanesini @solana/accounts, @solana/codecs gibi birden fazla küçük modüle ayırmıştır. Aynı zamanda, yeni versiyon sınıf tabanlı uygulamayı terk ederek tek bir fonksiyon yaklaşımını benimsemiştir. Bu tasarım, JavaScript kodu oluşturulurken optimizasyonu destekler; kullanılmayan kod silinecek ve kullanıcı cihazına indirilmeyecektir. Resmi verilere göre, yeni versiyonu kullanan DApp'ler genellikle %30'a kadar kod boyutu optimizasyonu sağlayabilmektedir ve bazı durumlarda bu oran daha yüksek olabilmektedir.

Ancak, yeni sürümün modüler tasarımı, Solana ekibinin belgeleri için daha yüksek gereksinimler ortaya koydu. Geliştiricilerin ihtiyaç duydukları işlevleri hızlı bir şekilde bulmalarına yardımcı olmak, anahtar bir sorun haline geldi. Şu anda, her modülün isimlendirilmesi iyi bir anlamsallığa sahip ve bu, belirli bir ölçüde geliştiricilerin geçiş zorluğunu azaltıyor.

Dikkate değer olan, 2.x sürümünün sıfır bağımlılık gerçekleştirmesidir. 1.95.5 ve 1.95.6 sürümlerinde meydana gelen tedarik zinciri saldırılarını göz önünde bulundurursak, dış bağımlılıkların azaltılması şüphesiz kütüphanenin güvenliğini artırmıştır.

Önemli Değişiklikler

bağlantı

2.x sürümü bağlantıları işlemek için daha işlevsel bir yöntem kullanıyor. Yeni sürüm, RPC istek adresini yapılandırarak bir istek gönderici oluşturur ve ardından bu göndericiyi kullanarak çeşitli istekler başlatır.

anahtar çift

Açık anahtar ve özel anahtar ile ilgili işlemler de önemli değişiklikler geçirdi. 1.x sürümünde yaygın olarak kullanılan Keypair ve PublicKey sınıfları, bir dizi fonksiyonla değiştirilmiştir. Örneğin, artık await generateKeyPair() kullanarak anahtar çiftleri oluşturabilirsiniz, önceki Keypair.generate() yerine. Yeni yöntem bir Promise döndürür, çünkü JavaScript'in Web Crypto API'sını kullanır ve yerel Ed25519 uygulamasını kullanmaktadır.

işlem gönder

2.x sürümünde Transaction ve VersionedTransaction sınıfları artık kullanılmıyor. System Program ile ilgili yöntemler de kaldırıldı, bunlar 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. Örneğin, pipe fonksiyonu kullanarak 1.x sürümündeki para transferi işlevselliğini gerçekleştirmek mümkündür. Dikkate değer bir nokta, yeni yöntemin WSS'ye daha fazla bağımlı olmasıdır; bu da RPC sağlayıcılarının hizmet istikrarı için daha yüksek gereksinimler getirmektedir.

React desteği

@solana/web3.js projesinde ayrıca bazı React Hook'ları sağlayan @solana/react kütüphanesi bulunmaktadır, signIn gibi işlevler yerleşiktir.

Özet

Solana Web3.js 2.x versiyonunun yayımlanması, Solana ekibinin sürekli iyileştirme kararlılığını göstermektedir. Yeni versiyon, geliştiricilere daha verimli, esnek ve özelleştirilebilir bir Solana ağ etkileşim yöntemi sunmakta olup, bu platformun daha ileri gelişimi ve uygulamaları için umut vaat etmektedir.

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

SOL-3.69%
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
  • 4
  • Share
Comment
0/400
AlphaBrainvip
· 4h ago
Gerçekten güzel oldu, yeniden yapılandırmam lazım.
View OriginalReply0
BridgeJumpervip
· 08-03 23:45
solana bu sefer gerçekten güzel
View OriginalReply0
IntrovertMetaversevip
· 08-03 23:45
Yükseltme yükseltme yapılıyor, saramıyorum.
View OriginalReply0
OnchainDetectivevip
· 08-03 23:15
Sonunda bu tuzağı değiştirdik.
View OriginalReply0
  • Pin
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)