Solana Web3.js 2.x peningkatan besar: desain modular meningkatkan kinerja dan keamanan

robot
Pembuatan abstrak sedang berlangsung

Solana Web3.js 2.x versi: Era baru pemrograman fungsional

Perpustakaan Solana Web3.js meluncurkan versi 2.x pada bulan November tahun ini, yang membawa perubahan signifikan dibandingkan versi 1.x. Artikel ini akan merangkum perubahan utama, untuk mempersiapkan para pengembang dalam pekerjaan migrasi di masa depan.

Web3 Pemula Seri: Sekarang Upgrade @solana/web3.js 2.x untuk Mengaktifkan Pemrograman Fungsional

Perbandingan Versi

Versi 1.x meskipun mudah digunakan, tetapi memiliki beberapa masalah. Ini mengonsolidasikan semua fungsi dalam satu paket, yang berarti bahwa bahkan jika pengembang hanya menggunakan sedikit fungsi, mereka masih perlu mengunduh seluruh perpustakaan. Ini tidak hanya meningkatkan waktu pemuatan, tetapi juga dapat mempengaruhi pengalaman pengguna.

Versi 2.x mengadopsi desain modular, membagi kode sumber yang ada menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, dan sebagainya. Pada saat yang sama, versi baru ini meninggalkan implementasi berbasis kelas, beralih ke pendekatan menggunakan fungsi tunggal. Desain ini membantu dalam optimasi saat membangun kode JavaScript, kode yang tidak digunakan akan dihapus dan tidak akan diunduh ke perangkat pengguna. Menurut data resmi, DApp yang menggunakan versi baru biasanya dapat mencapai optimasi ukuran kode sebesar 30%, dan dalam beberapa kasus bahkan lebih tinggi.

Namun, desain modular versi baru juga menuntut standar yang lebih tinggi pada dokumentasi tim Solana. Bagaimana membantu pengembang dengan cepat menemukan fungsi yang diperlukan menjadi masalah kunci. Saat ini, penamaan masing-masing modul memiliki semantik yang baik, yang dalam tingkat tertentu mengurangi kesulitan migrasi bagi pengembang.

Perlu dicatat bahwa versi 2.x telah mengimplementasikan nol ketergantungan. Mengingat serangan rantai pasokan yang baru-baru ini terjadi pada versi 1.95.5 dan 1.95.6, mengurangi ketergantungan eksternal jelas meningkatkan keamanan pustaka.

Poin Perubahan Penting

menghubungkan

Versi 2.x menggunakan pendekatan yang lebih fungsional untuk menangani koneksi. Versi baru ini membuat pengirim permintaan dengan mengonfigurasi alamat permintaan RPC, kemudian menggunakan pengirim tersebut untuk melakukan berbagai permintaan.

pasangan kunci

Pemrosesan yang terkait dengan kunci publik dan kunci pribadi juga telah mengalami perubahan signifikan. Kelas Keypair dan PublicKey yang umum digunakan dalam versi 1.x telah digantikan oleh serangkaian fungsi. Misalnya, sekarang Anda dapat menggunakan await generateKeyPair() untuk menghasilkan pasangan kunci, alih-alih menggunakan Keypair.generate() sebelumnya. Metode baru ini mengembalikan Promise, karena memanfaatkan Web Crypto API JavaScript, menggunakan implementasi Ed25519 asli.

kirim transaksi

Versi 2.x tidak lagi menggunakan kelas Transaction dan VersionedTransaction. Metode terkait System Program juga telah dihapus dan perlu diambil dari tempat lain. Misalnya, instruksi transfer sekarang perlu memanggil fungsi getTransferSolInstruction dari @solana-program/system.

Versi baru menyediakan bentuk pipe yang sering digunakan dalam pemrograman fungsional. Misalnya, fungsi transfer yang ada di versi 1.x dapat diimplementasikan melalui fungsi pipe. Perlu dicatat bahwa cara baru ini lebih bergantung pada WSS, yang menuntut stabilitas layanan yang lebih tinggi dari penyedia RPC.

Dukungan React

Proyek @solana/web3.js juga mencakup pustaka @solana/react, yang menyediakan beberapa React Hook, dengan fungsi bawaan seperti signIn.

Ringkasan

Rilis versi 2.x dari Solana Web3.js menunjukkan komitmen berkelanjutan tim Solana untuk perbaikan. Versi baru ini memberikan kepada pengembang cara interaksi dengan jaringan Solana yang lebih efisien, fleksibel, dan dapat disesuaikan, yang diharapkan dapat mendorong perkembangan dan aplikasi lebih lanjut dari platform ini.

Web3 Pemula Series: Sekarang tingkatkan @solana/web3.js 2.x untuk membuka pemrograman fungsional

SOL2.91%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 5
  • Bagikan
Komentar
0/400
TommyTeachervip
· 14jam yang lalu
2.0 sudah keluar, pulang kerja cepat-cepat!
Lihat AsliBalas0
AlphaBrainvip
· 20jam yang lalu
Sangat harum, aku harus membangun kembali.
Lihat AsliBalas0
BridgeJumpervip
· 08-03 23:45
solana sangat menarik kali ini
Lihat AsliBalas0
IntrovertMetaversevip
· 08-03 23:45
Upgrade upgradeing gulung tidak bisa bergerak
Lihat AsliBalas0
OnchainDetectivevip
· 08-03 23:15
Akhirnya mengubah jebakan rusak ini
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)