Solana Web3.js 2.x Sürümü: Fonksiyonel Programlamanın Yeni Çağı
Solana Web3.js 2.x versiyonu bu yılın Kasım ayında resmi olarak piyasaya sürüldü. 1.x versiyonuna kıyasla, yeni versiyon önemli değişiklikler getirdi. Bu makalede ana değişiklikler özetlenecek ve geliştiricilerin gelecekteki geçişleri için hazırlık yapmaları sağlanacaktır.
Sürüm Karşılaştırması
1.x sürümü basit bir kullanım sunsa da bazı sorunlar barındırıyor. Tüm işlevler tek bir paket içinde toplanmış durumda, bu da kullanıcı cihazlarının, belki de hiç kullanmayacakları büyük miktarda kod indirmesine neden oluyor.
2.x sürümü modüler bir tasarım benimseyerek, kod kütüphanesini @solana/accounts, @solana/codecs gibi birden fazla küçük modüle ayırmıştır. Yeni sürüm, sınıf tabanlı uygulamayı terk ederek tek bir fonksiyon kullanma yöntemine geçmiştir; bu, JavaScript kodunun derleme sürecinde optimizasyonu kolaylaştırır. Resmi verilere göre, yeni sürümü kullanan DApp'ler genellikle %30 boyut optimizasyonu elde etmektedir; yalnızca az sayıda işlev kullanan uygulamalar için optimizasyon oranı daha yüksek olabilir.
Ancak bu, Solana ekibinin belgelerinin kalitesi için daha yüksek talepler getirmektedir. Şu anda, paket adlarının anlamsallığı oldukça iyi ve geliştiricilerin geçiş zorluklarını azaltmaya yardımcı olmaktadır. Ancak yeni versiyon henüz yeni yayınlandığı için, birçok proje henüz geçiş yapmamıştır ve Solana Cookbook üzerindeki 2.x sürüm örnekleri de görece azdır.
2.x sürümünün bir diğer önemli özelliği sıfır bağımlılıktır. Bu özellik, özellikle 1.95.5 ve 1.95.6 sürümlerinde meydana gelen tedarik zinciri saldırılarını dikkate aldığımızda, güvenliği artırma açısından büyük bir öneme sahiptir.
Önemli Değişiklik Noktaları
bağlantı
2.x sürümü, bağlantıları işlemek için daha işlevsel bir yaklaşım benimsemektedir. Artık Connection sınıfı kullanılmamakta, bunun yerine RPC istek adresi yapılandırılarak istek göndericisi oluşturulmaktadır.
anahtar çifti
Yeni versiyonla birlikte, Keypair ve PublicKey sınıfları bir dizi fonksiyonla değiştirilmiştir. Örneğin, artık anahtar çiftlerini oluşturmak için await generateKeyPair() kullanıyoruz, önceden kullanılan Keypair.generate() yerine. Yeni yöntem bir Promise döndürmektedir, bu JavaScript'in Web Crypto API'sini kullanmasından kaynaklanmakta ve yerel Ed25519 uygulamasını kullanmaktadır.
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 talimatı artık @solana-program/system içindeki getTransferSolInstruction fonksiyonunu çağırmayı gerektiriyor.
Yeni sürüm, fonksiyonel programlamada sıkça kullanılan pipe biçimini sunmaktadır. İşlemler artık Connection üzerinden başlatılmıyor, bunun yerine tanımlanan RPC Provider aracılığıyla belirli fonksiyonlar oluşturularak işlemler başlatılıyor. Bu, kodun özelleştirilebilirliğini artırıyor, ancak kod miktarını da biraz artırıyor.
React desteği
@solana/web3.js projesi ayrıca @solana/react kütüphanesini de içermektedir, bazı React Hook'ları sunmakta ve signIn gibi yerleşik işlevlere sahiptir.
Özet
@solana/web3.js 2.x sürümünün yayımlanması, Solana ekibinin sürekli iyileştirme taahhüdünü gösteriyor. Yeni sürüm, geliştiricilere Solana ağı ile etkileşim kurmak için daha verimli, esnek ve özelleştirilebilir bir yol sunarak, platformun daha fazla gelişimini ve benimsenmesini teşvik etmesi 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.
11 Likes
Reward
11
6
Share
Comment
0/400
JustHodlIt
· 12h ago
2.x stabil oldu, ileri!
View OriginalReply0
CryptoMom
· 07-20 08:14
Sonunda güncellendi, 2.x'e bir bakayım.
View OriginalReply0
ETHReserveBank
· 07-19 17:40
Şampanya açıyoruz, ön sırada güncellemeyi bekliyoruz.
View OriginalReply0
LuckyHashValue
· 07-19 17:40
sola yine yeni bir hayata başladı
View OriginalReply0
LiquidityNinja
· 07-19 17:37
Solana hala boğa mı
View OriginalReply0
EyeOfTheTokenStorm
· 07-19 17:13
Veriler başka bir boğa öncesi dalgası mı gösteriyor? bir pozisyon girin mi?
Solana Web3.js 2.x yayını: Modüler tasarım ve sıfır bağımlılığa sahip fonksiyonel programlamanın yeni çağı
Solana Web3.js 2.x Sürümü: Fonksiyonel Programlamanın Yeni Çağı
Solana Web3.js 2.x versiyonu bu yılın Kasım ayında resmi olarak piyasaya sürüldü. 1.x versiyonuna kıyasla, yeni versiyon önemli değişiklikler getirdi. Bu makalede ana değişiklikler özetlenecek ve geliştiricilerin gelecekteki geçişleri için hazırlık yapmaları sağlanacaktır.
Sürüm Karşılaştırması
1.x sürümü basit bir kullanım sunsa da bazı sorunlar barındırıyor. Tüm işlevler tek bir paket içinde toplanmış durumda, bu da kullanıcı cihazlarının, belki de hiç kullanmayacakları büyük miktarda kod indirmesine neden oluyor.
2.x sürümü modüler bir tasarım benimseyerek, kod kütüphanesini @solana/accounts, @solana/codecs gibi birden fazla küçük modüle ayırmıştır. Yeni sürüm, sınıf tabanlı uygulamayı terk ederek tek bir fonksiyon kullanma yöntemine geçmiştir; bu, JavaScript kodunun derleme sürecinde optimizasyonu kolaylaştırır. Resmi verilere göre, yeni sürümü kullanan DApp'ler genellikle %30 boyut optimizasyonu elde etmektedir; yalnızca az sayıda işlev kullanan uygulamalar için optimizasyon oranı daha yüksek olabilir.
Ancak bu, Solana ekibinin belgelerinin kalitesi için daha yüksek talepler getirmektedir. Şu anda, paket adlarının anlamsallığı oldukça iyi ve geliştiricilerin geçiş zorluklarını azaltmaya yardımcı olmaktadır. Ancak yeni versiyon henüz yeni yayınlandığı için, birçok proje henüz geçiş yapmamıştır ve Solana Cookbook üzerindeki 2.x sürüm örnekleri de görece azdır.
2.x sürümünün bir diğer önemli özelliği sıfır bağımlılıktır. Bu özellik, özellikle 1.95.5 ve 1.95.6 sürümlerinde meydana gelen tedarik zinciri saldırılarını dikkate aldığımızda, güvenliği artırma açısından büyük bir öneme sahiptir.
Önemli Değişiklik Noktaları
bağlantı
2.x sürümü, bağlantıları işlemek için daha işlevsel bir yaklaşım benimsemektedir. Artık Connection sınıfı kullanılmamakta, bunun yerine RPC istek adresi yapılandırılarak istek göndericisi oluşturulmaktadır.
anahtar çifti
Yeni versiyonla birlikte, Keypair ve PublicKey sınıfları bir dizi fonksiyonla değiştirilmiştir. Örneğin, artık anahtar çiftlerini oluşturmak için await generateKeyPair() kullanıyoruz, önceden kullanılan Keypair.generate() yerine. Yeni yöntem bir Promise döndürmektedir, bu JavaScript'in Web Crypto API'sini kullanmasından kaynaklanmakta ve yerel Ed25519 uygulamasını kullanmaktadır.
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 talimatı artık @solana-program/system içindeki getTransferSolInstruction fonksiyonunu çağırmayı gerektiriyor.
Yeni sürüm, fonksiyonel programlamada sıkça kullanılan pipe biçimini sunmaktadır. İşlemler artık Connection üzerinden başlatılmıyor, bunun yerine tanımlanan RPC Provider aracılığıyla belirli fonksiyonlar oluşturularak işlemler başlatılıyor. Bu, kodun özelleştirilebilirliğini artırıyor, ancak kod miktarını da biraz artırıyor.
React desteği
@solana/web3.js projesi ayrıca @solana/react kütüphanesini de içermektedir, bazı React Hook'ları sunmakta ve signIn gibi yerleşik işlevlere sahiptir.
Özet
@solana/web3.js 2.x sürümünün yayımlanması, Solana ekibinin sürekli iyileştirme taahhüdünü gösteriyor. Yeni sürüm, geliştiricilere Solana ağı ile etkileşim kurmak için daha verimli, esnek ve özelleştirilebilir bir yol sunarak, platformun daha fazla gelişimini ve benimsenmesini teşvik etmesi bekleniyor.