Solana Web3.js 2.x: Rekayasa Modular dan Peningkatan Kinerja

Solana Web3.js Versi 2.x: Pemisahan Fitur dan Optimasi Kinerja

Solana Web3.js sebagai perpustakaan JavaScript yang kaya fitur, secara resmi merilis versi 2.x pada bulan November tahun ini. Dibandingkan dengan versi 1.x, versi baru ini mengalami perubahan yang signifikan dalam struktur dan cara implementasinya. Artikel ini akan merangkum perubahan utama tersebut untuk membantu pengembang mempersiapkan migrasi di masa depan.

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

Perbandingan Versi

Fitur utama dari versi 1.x adalah sederhana dan mudah digunakan. Ini hanya mencakup satu paket @solana/web3.js, menggunakan desain berbasis kelas, dan membungkus banyak operasi umum. Misalnya, kelas Connection menyediakan puluhan metode yang hampir mencakup semua fungsi yang dibutuhkan pengembang. Namun, desain ini juga membawa beberapa masalah, seperti ukuran kode yang besar, perangkat pengguna perlu mengunduh banyak kode yang mungkin tidak diperlukan.

Versi 2.x mengadopsi strategi yang berbeda. Tim pengembang membagi kode sumber menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, @solana/rpc, dan lainnya. Versi baru ini meninggalkan implementasi berbasis kelas dan beralih ke pendekatan fungsi tunggal, yang menguntungkan untuk optimasi saat membangun kode JavaScript. Kode yang tidak digunakan akan dihapus dan tidak akan diunduh ke perangkat pengguna. Menurut statistik resmi, DApp yang menggunakan versi baru biasanya dapat mencapai optimasi ukuran hingga 30%, dan jika hanya menggunakan sejumlah kecil fitur, proporsi optimasi mungkin lebih tinggi.

Fitur penting lain dari versi 2.x adalah tanpa ketergantungan. Mengingat serangan rantai pasokan yang baru-baru ini terjadi pada versi 1.95.5 dan 1.95.6, mengurangi ketergantungan eksternal dapat secara signifikan mengurangi risiko keamanan. Versi baru ini lebih banyak menggunakan fungsi bawaan, menghilangkan ketergantungan eksternal dan pengenalan Polyfills.

Poin Perubahan Penting

terhubung

Versi 2.x menggunakan pendekatan yang lebih fungsional untuk menangani koneksi. Tidak lagi menggunakan kelas Connection, melainkan melalui pengaturan alamat permintaan RPC untuk membuat pengirim permintaan. Misalnya, saat mengirim transaksi, akan secara otomatis memulai permintaan HTTPS dan membangun koneksi WSS untuk berlangganan status transaksi.

pasangan kunci

Pengolahan yang terkait dengan kunci publik dan kunci privat juga telah berubah. Kelas Keypair dan PublicKey yang umum digunakan di versi 1.x telah digantikan oleh beberapa fungsi. Misalnya, sekarang menggunakan await generateKeyPair() untuk menghasilkan pasangan kunci, bukan Keypair.generate() sebelumnya. Implementasi baru memanfaatkan Web Crypto API JavaScript, menggunakan implementasi Ed25519 asli, yang menyebabkan beberapa metode menjadi asinkron.

kirim transaksi

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

Versi baru menyediakan bentuk pipe yang umum digunakan dalam pemrograman fungsional. Pengembang dapat menggunakan fungsi pipe untuk mengimplementasikan fungsi transfer yang sebelumnya ada di versi 1.x. Meskipun jumlah kode meningkat, ini memberikan kustomisasi yang lebih kuat.

Dukungan React

Perlu dicatat bahwa proyek @solana/web3.js juga mencakup sebuah pustaka bernama @solana/react, yang menyediakan beberapa React Hook, dengan fitur bawaan seperti signIn.

Ringkasan

Peluncuran versi 2.x dari Solana Web3.js menunjukkan komitmen tim pengembang terhadap perbaikan berkelanjutan. Versi baru ini memberikan cara yang lebih efisien, fleksibel, dan dapat disesuaikan bagi pengembang untuk berinteraksi dengan jaringan Solana, yang diharapkan dapat mendorong perkembangan dan penerapan lebih lanjut dari platform tersebut. Meskipun saat ini banyak proyek yang belum bermigrasi ke versi baru, memahami perubahan ini akan membantu pengembang mempersiapkan diri untuk transisi di masa depan.

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

SOL-7.59%
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
StablecoinArbitrageurvip
· 07-30 14:36
*menyesuaikan kacamata* hmm... berdasarkan analisis metrik kinerja saya, membagi menjadi modul seharusnya mengurangi latensi sebesar ~47 poin dasar
Lihat AsliBalas0
MissingSatsvip
· 07-30 14:34
Akhirnya menunggu upgrade sudah tiba setelah setahun.
Lihat AsliBalas0
LucidSleepwalkervip
· 07-30 14:34
2.x datang, saya tidak bisa belajar lagi
Lihat AsliBalas0
DuckFluffvip
· 07-30 14:27
Hah, masih menggunakan versi 1.x, cepatlah upgrade!
Lihat AsliBalas0
BrokenYieldvip
· 07-30 14:15
akhirnya ada manajemen risiko di sol... sudah lama sekali, smh
Lihat AsliBalas0
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)