Solana Web3.js 2.x Sürümü: Fonksiyon Ayrımı ve Optimizasyon
Solana Web3.js, zengin özelliklere sahip bir JavaScript kütüphanesidir ve yakın zamanda 2.x sürümünü yayımlamıştır. 1.x sürümüne kıyasla, yeni sürümde önemli değişiklikler bulunmaktadır. Bu yazıda ana güncellemeleri özetleyeceğiz.
2.x sürümü henüz yeni yayımlanmış olmasına ve kullanım oranı düşük olmasına rağmen, birçok yaygın kullanılan kütüphane henüz göç etmemiş olsa da, bu değişiklikleri önceden anlamak, gelecekteki güncelleme hazırlıklarına yardımcı olabilir.
Sürümleri karşılaştırın
Eski sürümlerin kullanımı daha basitti, tüm işlevler @solana/web3.js bir pakette ve çok sayıda yaygın olarak kullanılan işlemi kapsülleyen sınıf tabanlı bir tasarımdı. Ancak bu tasarım, işlevselliğin yalnızca küçük bir kısmı kullanılsa bile tüm kitaplığın kullanıcının cihazına indirilmesi gibi bazı sorunları da beraberinde getirir.
2.x sürümü, kod deposunu @solana/accounts, @solana/codecs, @solana/rpc gibi birden fazla küçük modüle ayırdı. Yeni sürüm, sınıf tabanlı uygulamalardan vazgeçerek daha çok tekil fonksiyonlar kullanmaya yöneldi; bu, JavaScript kodunun derlenmesi sırasında optimizasyonu kolaylaştırıyor. Kullanılmayan kodlar silinecek ve kullanıcı cihazlarına indirilmeyecek. Resmi istatistiklere göre, yeni versiyonu kullanan uygulamalar temel olarak %30 oranında boyut optimizasyonu elde edebiliyor.
Yeni sürümün modüler tasarımı, geliştirme belgelerine daha fazla talep getiriyor. Şu anda modül adları, geliştiricilerin ihtiyaç duydukları özellikleri hızlı bir şekilde bulmalarına yardımcı olmak için iyi bir semantiklere sahiptir. Ancak, yeni piyasaya sürüldüğü için birçok proje henüz taşınmadı ve bunun birkaç örneği var.
2.x sürümünün bir diğer önemli özelliği sıfır bağımlılıktır. Bu özellik, sıradan kullanıcılar için pek etkili olmayabilir, ancak güvenlik açısından son derece önemlidir. Geliştirme ekibi, güvenlik risklerini azaltmak için daha fazla yerel işlev kullanmaya ve dış bağımlılık ile Polyfill kullanımını kaldırmaya karar verdi.
Ana Değişiklikler
bağlantı işleme
Yeni versiyon, bağlantıyı daha işlevsel bir şekilde gerçekleştirmektedir. Örneğin, bir işlem gönderildiğinde otomatik olarak HTTPS isteği başlatılır ve WSS bağlantısı kurulur, işlem durumu abone olunur ve işlem onaylandıktan sonra işlem hash'i geri döner.
Anahtar çiftleri yönetimi
Özel ve genel anahtar ile ilgili işlevlerde büyük değişiklikler var. 1.x sürümünde yaygın olarak kullanılan Keypair ve PublicKey sınıfları artık mevcut değil, bazı fonksiyonlarla değiştirildi. Örneğin, anahtar çifti oluşturmak için await generateKeyPair() kullanabilirsiniz, daha önceki Keypair.generate() yerine.
Yeni uygulama, yerel Ed25519 uygulamasını kullanarak JavaScript'in Web Crypto API'sinden mümkün olduğunca yararlanıyor. Bu, bazı yöntemlerin eşzamansız hale gelmesine neden olur, ancak vaatlere aşina olan geliştiriciler için büyük bir sorun değildir.
işlem gönder
Transaction ve VersionedTransaction sınıfları artık 2.x sürümünde kullanılamamaktadır. Sistem Programı ile ilgili yöntemler artık mevcut değildir ve diğer modüllerden tanıtılması gerekir.
Yeni sürüm, işlevsel programlamada yaygın olarak kullanılan boru biçimini sağlar. Örneğin, aktarım işlevini uygularken, Bağlantı aracılığıyla bir işlem başlatmak yerine, tanımlanmış bir RPC Sağlayıcısı tarafından belirli bir işlev oluşturulur. Bu yaklaşım kod miktarını artırır, ancak daha fazla özelleştirilebilirlik sağlar.
React desteği
Dikkate değer bir nokta, @solana/web3.js projesinin ayrıca @solana/react kütüphanesini içermesi, bazı React Hook'larını sağlaması ve signIn gibi yerleşik özelliklere sahip olmasıdır.
Özet
Solana Web3.js 2.x'in piyasaya sürülmesi, geliştirme ekibinin sürekli iyileştirmeye olan bağlılığını göstermektedir. Yeni sürüm, geliştiricilere, platformun benimsenmesini ve büyümesini sağlaması beklenen Solana ağıyla etkileşim kurmak için daha verimli, esnek ve özelleştirilebilir bir yol sunuyor.
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.
15 Likes
Reward
15
9
Share
Comment
0/400
ProbablyNothing
· 07-19 15:36
sol sonunda sarıldı
View OriginalReply0
GweiWatcher
· 07-18 09:24
Bağlantı kraldır!
View OriginalReply0
MoonBoi42
· 07-18 08:31
Önde karpuz yiyen Boğa sol
View OriginalReply0
CryptoMotivator
· 07-17 01:02
Sonunda bu güncellemeyi bekledim!
View OriginalReply0
Anon32942
· 07-17 01:01
Sonunda optimize edildi, görünüşe göre önceden gerçekten iyi değildi.
Solana Web3.js 2.x sürümünde önemli güncelleme: Modüler tasarım performansı ve güvenliği artırıyor.
Solana Web3.js 2.x Sürümü: Fonksiyon Ayrımı ve Optimizasyon
Solana Web3.js, zengin özelliklere sahip bir JavaScript kütüphanesidir ve yakın zamanda 2.x sürümünü yayımlamıştır. 1.x sürümüne kıyasla, yeni sürümde önemli değişiklikler bulunmaktadır. Bu yazıda ana güncellemeleri özetleyeceğiz.
2.x sürümü henüz yeni yayımlanmış olmasına ve kullanım oranı düşük olmasına rağmen, birçok yaygın kullanılan kütüphane henüz göç etmemiş olsa da, bu değişiklikleri önceden anlamak, gelecekteki güncelleme hazırlıklarına yardımcı olabilir.
Sürümleri karşılaştırın
Eski sürümlerin kullanımı daha basitti, tüm işlevler @solana/web3.js bir pakette ve çok sayıda yaygın olarak kullanılan işlemi kapsülleyen sınıf tabanlı bir tasarımdı. Ancak bu tasarım, işlevselliğin yalnızca küçük bir kısmı kullanılsa bile tüm kitaplığın kullanıcının cihazına indirilmesi gibi bazı sorunları da beraberinde getirir.
2.x sürümü, kod deposunu @solana/accounts, @solana/codecs, @solana/rpc gibi birden fazla küçük modüle ayırdı. Yeni sürüm, sınıf tabanlı uygulamalardan vazgeçerek daha çok tekil fonksiyonlar kullanmaya yöneldi; bu, JavaScript kodunun derlenmesi sırasında optimizasyonu kolaylaştırıyor. Kullanılmayan kodlar silinecek ve kullanıcı cihazlarına indirilmeyecek. Resmi istatistiklere göre, yeni versiyonu kullanan uygulamalar temel olarak %30 oranında boyut optimizasyonu elde edebiliyor.
Yeni sürümün modüler tasarımı, geliştirme belgelerine daha fazla talep getiriyor. Şu anda modül adları, geliştiricilerin ihtiyaç duydukları özellikleri hızlı bir şekilde bulmalarına yardımcı olmak için iyi bir semantiklere sahiptir. Ancak, yeni piyasaya sürüldüğü için birçok proje henüz taşınmadı ve bunun birkaç örneği var.
2.x sürümünün bir diğer önemli özelliği sıfır bağımlılıktır. Bu özellik, sıradan kullanıcılar için pek etkili olmayabilir, ancak güvenlik açısından son derece önemlidir. Geliştirme ekibi, güvenlik risklerini azaltmak için daha fazla yerel işlev kullanmaya ve dış bağımlılık ile Polyfill kullanımını kaldırmaya karar verdi.
Ana Değişiklikler
bağlantı işleme
Yeni versiyon, bağlantıyı daha işlevsel bir şekilde gerçekleştirmektedir. Örneğin, bir işlem gönderildiğinde otomatik olarak HTTPS isteği başlatılır ve WSS bağlantısı kurulur, işlem durumu abone olunur ve işlem onaylandıktan sonra işlem hash'i geri döner.
Anahtar çiftleri yönetimi
Özel ve genel anahtar ile ilgili işlevlerde büyük değişiklikler var. 1.x sürümünde yaygın olarak kullanılan Keypair ve PublicKey sınıfları artık mevcut değil, bazı fonksiyonlarla değiştirildi. Örneğin, anahtar çifti oluşturmak için await generateKeyPair() kullanabilirsiniz, daha önceki Keypair.generate() yerine.
Yeni uygulama, yerel Ed25519 uygulamasını kullanarak JavaScript'in Web Crypto API'sinden mümkün olduğunca yararlanıyor. Bu, bazı yöntemlerin eşzamansız hale gelmesine neden olur, ancak vaatlere aşina olan geliştiriciler için büyük bir sorun değildir.
işlem gönder
Transaction ve VersionedTransaction sınıfları artık 2.x sürümünde kullanılamamaktadır. Sistem Programı ile ilgili yöntemler artık mevcut değildir ve diğer modüllerden tanıtılması gerekir.
Yeni sürüm, işlevsel programlamada yaygın olarak kullanılan boru biçimini sağlar. Örneğin, aktarım işlevini uygularken, Bağlantı aracılığıyla bir işlem başlatmak yerine, tanımlanmış bir RPC Sağlayıcısı tarafından belirli bir işlev oluşturulur. Bu yaklaşım kod miktarını artırır, ancak daha fazla özelleştirilebilirlik sağlar.
React desteği
Dikkate değer bir nokta, @solana/web3.js projesinin ayrıca @solana/react kütüphanesini içermesi, bazı React Hook'larını sağlaması ve signIn gibi yerleşik özelliklere sahip olmasıdır.
Özet
Solana Web3.js 2.x'in piyasaya sürülmesi, geliştirme ekibinin sürekli iyileştirmeye olan bağlılığını göstermektedir. Yeni sürüm, geliştiricilere, platformun benimsenmesini ve büyümesini sağlaması beklenen Solana ağıyla etkileşim kurmak için daha verimli, esnek ve özelleştirilebilir bir yol sunuyor.