Solana Web3.js 2.x Sürümü: Fonksiyonel Programlamanın Yeni Çağı
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üm önemli değişiklikler getirdi; bu makalede ana değişiklikler özetlenecektir.
Her ne kadar 2.x versiyonu yeni çıkmış olsa da, kullanım oranı eski versiyonun altında kalsa da, bu değişiklikleri anlamak gelecekteki proje geçişleri için son derece önemlidir.
Versiyon Karşılaştırması
Inkar edilemez ki, eski sürümün kullanım deneyimi daha basitti. 1.x sürümü tek bir pakette yoğunlaşmış, sınıf tabanlı bir tasarım benimsemiş ve birçok yaygın işlemi kapsayan bir yapıya sahiptir. Örneğin, Connection sınıfı, geliştiricilerin ihtiyaç duyduğu tüm özellikleri neredeyse kapsayan onlarca yöntem sunmaktadır. Ancak, bu tasarım bazı sorunları da beraberinde getirmiştir, örneğin kod fazlalığı ve yükleme süresinin uzaması.
2.x versiyonu modüler bir tasarım benimsedi ve mevcut kod kütüphanesini @solana/accounts, @solana/codecs, @solana/rpc gibi birçok küçük modüle ayırdı. Aynı zamanda, yeni versiyon sınıf tabanlı uygulamayı terk ederek tek bir fonksiyon yöntemine geçti; bu, JavaScript kodunun derlenmesi sırasında optimizasyonu kolaylaştırır. İstatistiklere göre, yeni sürümü kullanan uygulamalar genellikle %30 oranında boyut optimizasyonu sağlıyor; yalnızca az sayıda işlev kullanan uygulamalarda optimizasyon oranı daha yüksek olabilir.
Yeni sürümün modüler tasarımı, belgelerin kalitesi için daha yüksek gereksinimler getirmektedir. Görünüşe göre, her bir modülün isimlendirilmesi iyi bir anlam taşımaktadır, bu da geliştiricilerin geçiş zorluğunu bir ölçüde azaltmaktadır.
Dikkate değer bir nokta, 2.x versiyonunun sıfır bağımlılık ile uygulanmış olmasıdır. 1.95.5 ve 1.95.6 versiyonlarında meydana gelen tedarik zinciri saldırıları göz önünde bulundurulduğunda, dış bağımlılıkların azaltılması, kütüphanenin güvenliğini kesinlikle artırmaktadır. Geliştirme ekibi, daha fazla yerel işlevselliği kullanmayı ve dış bağımlılıkların yanı sıra Polyfills'in kullanılmasını iptal etmeyi kararlaştırdı.
Önemli Değişiklik Noktaları
bağlantı
2.x sürümü, bağlantıları işlemek için daha fonksiyonel bir yaklaşım benimsemiştir. Yeni sürüm, RPC istek adresini yapılandırarak istek göndericisi oluşturur ve ardından bu göndericiyi çeşitli istekler başlatmak için kullanır.
anahtar çifti
Açık anahtar ve özel anahtar ile ilgili işlemlerde de önemli değişiklikler oldu. 1.x sürümünde sıkça kullanılan Keypair ve PublicKey sınıfları bir dizi fonksiyonla değiştirildi. Örneğin, artık asenkron generateKeyPair() fonksiyonunu kullanarak anahtar çiftleri oluşturabilirsiniz. Bu değişiklik, yeni sürümün JavaScript'in Web Crypto API'sinden daha fazla yararlanmasından kaynaklanıyor ve yerel Ed25519 uygulamasını kullanıyor.
işlem gönder
2.x sürümü artık Transaction ve VersionedTransaction sınıflarını kullanmamaktadır. System Program ile ilgili yöntemler de başka yerlerden getirilmeli. Ö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 sunarak işlemlerin başlatılması ve onaylanması sürecini daha esnek ve özelleştirilebilir hale getiriyor.
React desteği
Dikkate değer bir nokta, @solana/web3.js projesinin artık signIn gibi işlevler sunan bazı React Hook'ları sağlayan @solana/react adlı bir kütüphane içerdiğidir.
Özet
@solana/web3.js 2.x sürümünün yayınlanması, Solana ekibinin sürekli yenilik yapma kararlılığını sergiliyor. Yeni sürüm, geliştiricilere daha verimli, esnek ve özelleştirilebilir bir Solana ağ etkileşim yöntemi sunarak, platformun benimsenmesini ve gelişimini daha da ileriye taşıması bekleniyor.
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.
Solana Web3.js 2.x yayımlandı: Modüler tasarım performansı ve güvenliği artırıyor
Solana Web3.js 2.x Sürümü: Fonksiyonel Programlamanın Yeni Çağı
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üm önemli değişiklikler getirdi; bu makalede ana değişiklikler özetlenecektir.
Her ne kadar 2.x versiyonu yeni çıkmış olsa da, kullanım oranı eski versiyonun altında kalsa da, bu değişiklikleri anlamak gelecekteki proje geçişleri için son derece önemlidir.
Versiyon Karşılaştırması
Inkar edilemez ki, eski sürümün kullanım deneyimi daha basitti. 1.x sürümü tek bir pakette yoğunlaşmış, sınıf tabanlı bir tasarım benimsemiş ve birçok yaygın işlemi kapsayan bir yapıya sahiptir. Örneğin, Connection sınıfı, geliştiricilerin ihtiyaç duyduğu tüm özellikleri neredeyse kapsayan onlarca yöntem sunmaktadır. Ancak, bu tasarım bazı sorunları da beraberinde getirmiştir, örneğin kod fazlalığı ve yükleme süresinin uzaması.
2.x versiyonu modüler bir tasarım benimsedi ve mevcut kod kütüphanesini @solana/accounts, @solana/codecs, @solana/rpc gibi birçok küçük modüle ayırdı. Aynı zamanda, yeni versiyon sınıf tabanlı uygulamayı terk ederek tek bir fonksiyon yöntemine geçti; bu, JavaScript kodunun derlenmesi sırasında optimizasyonu kolaylaştırır. İstatistiklere göre, yeni sürümü kullanan uygulamalar genellikle %30 oranında boyut optimizasyonu sağlıyor; yalnızca az sayıda işlev kullanan uygulamalarda optimizasyon oranı daha yüksek olabilir.
Yeni sürümün modüler tasarımı, belgelerin kalitesi için daha yüksek gereksinimler getirmektedir. Görünüşe göre, her bir modülün isimlendirilmesi iyi bir anlam taşımaktadır, bu da geliştiricilerin geçiş zorluğunu bir ölçüde azaltmaktadır.
Dikkate değer bir nokta, 2.x versiyonunun sıfır bağımlılık ile uygulanmış olmasıdır. 1.95.5 ve 1.95.6 versiyonlarında meydana gelen tedarik zinciri saldırıları göz önünde bulundurulduğunda, dış bağımlılıkların azaltılması, kütüphanenin güvenliğini kesinlikle artırmaktadır. Geliştirme ekibi, daha fazla yerel işlevselliği kullanmayı ve dış bağımlılıkların yanı sıra Polyfills'in kullanılmasını iptal etmeyi kararlaştırdı.
Önemli Değişiklik Noktaları
bağlantı
2.x sürümü, bağlantıları işlemek için daha fonksiyonel bir yaklaşım benimsemiştir. Yeni sürüm, RPC istek adresini yapılandırarak istek göndericisi oluşturur ve ardından bu göndericiyi çeşitli istekler başlatmak için kullanır.
anahtar çifti
Açık anahtar ve özel anahtar ile ilgili işlemlerde de önemli değişiklikler oldu. 1.x sürümünde sıkça kullanılan Keypair ve PublicKey sınıfları bir dizi fonksiyonla değiştirildi. Örneğin, artık asenkron generateKeyPair() fonksiyonunu kullanarak anahtar çiftleri oluşturabilirsiniz. Bu değişiklik, yeni sürümün JavaScript'in Web Crypto API'sinden daha fazla yararlanmasından kaynaklanıyor ve yerel Ed25519 uygulamasını kullanıyor.
işlem gönder
2.x sürümü artık Transaction ve VersionedTransaction sınıflarını kullanmamaktadır. System Program ile ilgili yöntemler de başka yerlerden getirilmeli. Ö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 sunarak işlemlerin başlatılması ve onaylanması sürecini daha esnek ve özelleştirilebilir hale getiriyor.
React desteği
Dikkate değer bir nokta, @solana/web3.js projesinin artık signIn gibi işlevler sunan bazı React Hook'ları sağlayan @solana/react adlı bir kütüphane içerdiğidir.
Özet
@solana/web3.js 2.x sürümünün yayınlanması, Solana ekibinin sürekli yenilik yapma kararlılığını sergiliyor. Yeni sürüm, geliştiricilere daha verimli, esnek ve özelleştirilebilir bir Solana ağ etkileşim yöntemi sunarak, platformun benimsenmesini ve gelişimini daha da ileriye taşıması bekleniyor.