Solana Web3.js 2.x sürümü yayımlandı, kod boyutu %30 düşüş sağladı.

robot
Abstract generation in progress

Solana Web3.js 2.x Sürümü: Özelliklerle Dolu JavaScript Kütüphanesinde Büyük Güncelleme

Solana Web3.js, zengin özelliklere sahip bir JavaScript kütüphanesi olarak, bu yıl Kasım ayında 2.x sürümünü resmi olarak duyurdu. 1.x sürümüne kıyasla, yeni sürümde yapı ve kullanım şekli açısından önemli değişiklikler olmuştur. Bu makalede, bu ana değişiklikler özetlenecek ve geliştiricilerin gelecekteki geçiş için hazırlık yapmalarına yardımcı olunacaktır.

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

Versiyon Karşılaştırması

1.x sürümündeki Web3.js kütüphanesi kullanımı açısından oldukça basit ve doğrudandır. Tek bir ana paket içerir: @solana/web3.js, tüm işlevler bu pakette toplanmıştır. Sınıf tabanlı bir tasarım benimsemekte olup, yaygın olarak kullanılan birçok işlemi kapsar. Örneğin, Connection sınıfı, geliştiricilerin ihtiyaç duyduğu hemen hemen tüm işlevleri kapsayan onlarca yöntem sunmaktadır.

Ancak, bu tasarım bazı sorunları da beraberinde getiriyor. Geliştiricilerin gerçekten kullandığı işlevler, kütüphanedeki küçük bir bölüm olabilir, ancak tüm kod kütüphanesi kullanıcı cihazına indirilecektir, bu da yükleme sürelerinin uzamasına neden olabilir.

2.x versiyonu farklı bir yaklaşım benimsiyor. Geliştirici ekibi, mevcut kod tabanını birkaç küçük modüle ayırdı, örneğin @solana/accounts, @solana/codecs, @solana/rpc, @solana/signers ve @solana/transactions. Yeni versiyon ayrıca sınıf tabanlı uygulamayı terk ederek daha çok tekil fonksiyonlar kullanıyor. Bu yaklaşım, JavaScript kodunun derlenmesi sırasında optimizasyon için faydalıdır; kullanılmayan kod silinebilir ve böylece kullanıcı cihazına indirilmez.

İstatistiklere göre, yeni sürümdeki merkeziyetsiz uygulamaların (DApp) kullanımı genellikle yaklaşık %30 oranında kod boyutu optimizasyonu sağlayabilir. Eğer yalnızca az sayıda özellik kullanılıyorsa, 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. Bu özellik birçok kullanıcı için belirgin olmayabilir, ancak @solana/web3.js 1.95.5 ve 1.95.6 sürümlerinde meydana gelen tedarik zinciri saldırılarını göz önünde bulundurduğumuzda, dış bağımlılıkların azaltılması güvenlik risklerini önemli ölçüde azaltabilir. Web3.js geliştirme ekibi, dış bağımlılıkları ve Polyfills'in kullanımını ortadan kaldırarak daha fazla yerel işlevselliği kullanmaya karar verdi.

Önemli Değişiklikler

bağlantı

2.x sürümünde, bağlantı yöntemi daha işlevsel hale geldi:

javascript import { createSolanaRpc } from "@solana/web3.js";

const rpc = createSolanaRpc("");

sendAndConfirmTransaction çağrıldığında, sistem otomatik olarak HTTPS isteği başlatır ve işlem durumunu abone olmak için WSS bağlantısı kurar, işlem onaylandıktan sonra işlem hash'ini döner.

anahtar çifti

2.x sürümünde, mevcut Keypair ve PublicKey sınıfları bir dizi fonksiyonla değiştirildi. Örneğin, await generateKeyPair() kullanarak anahtar çiftleri oluşturabilirsiniz, daha önceki Keypair.generate() yerine. Yeni uygulama, JavaScript'in Web Crypto API'sini kullanarak yerel Ed25519 uygulamasından yararlanmaktadır.

işlem gönder

2.x sürümü artık Transaction ve VersionedTransaction sınıflarını kullanmıyor. Sistem Program ile ilgili yöntemler de başka yerlerden içe aktarılmalıdır. Örneğin, transfer talimatı 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. Aşağıda, transfer işlevini gerçekleştirmek için pipe fonksiyonunun nasıl kullanılacağına dair bir örnek verilmiştir:

javascript import { pipe } from "@solana/web3.js";

const transaction = pipe( createTransaction({ version: 0 }), addInstruction(getTransferSolInstruction({ gönderen: sender, alıcıya, miktar: transferAmount, })), setTransactionFeePayer(gönderen), );

const signature = await sendAndConfirmTransaction(rpc, transaction, [senderKeypair]);

React desteği

Dikkate değer olan, @solana/web3.js projesinin ayrıca signIn gibi işlevleri içeren bazı React Hook'ları sunan @solana/react adlı bir kütüphane içerdiğidir.

Özet

@solana/web3.js 2.x sürümünün piyasaya sürülmesi, Solana ekibinin sürekli gelişim ve iyileştirme taahhüdünü sergiliyor. Yeni sürüm, geliştiricilere Solana ağıyla etkileşimde bulunmak için daha verimli, esnek ve özelleştirilebilir bir yol sunarak, platformun daha fazla benimsenmesi ve gelişimini teşvik etmesi bekleniyor.

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

SOL5.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
  • 5
  • Share
Comment
0/400
rekt_but_resilientvip
· 07-11 16:59
Nihayet güncellendi, geliştirmek çok acı vericiydi.
View OriginalReply0
ThatsNotARugPullvip
· 07-08 18:57
Sonunda zayıflama başarısını elde ettim.
View OriginalReply0
CompoundPersonalityvip
· 07-08 18:57
Ah, sonunda bu kadar çok kod yazmak zorunda değilim.
View OriginalReply0
BtcDailyResearchervip
· 07-08 18:45
Güvenilir, modüler olması yeter.
View OriginalReply0
gas_fee_traumavip
· 07-08 18:30
Solana yine güçlendi
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)