Solana Web3.js Versi 2.x: Pembaruan Besar untuk Perpustakaan JavaScript yang Kaya Fitur
Solana Web3.js sebagai pustaka JavaScript yang kaya fitur, resmi merilis versi 2.x pada bulan November tahun ini. Dibandingkan dengan versi 1.x, versi baru ini membawa perubahan yang signifikan. Meskipun saat ini tingkat penggunaan versi 2.x masih rendah, banyak pustaka populer yang belum bermigrasi, tetapi memahami pembaruan ini sangat membantu untuk pekerjaan pengembangan di masa depan.
Perbandingan Versi
Versi 1.x relatif mudah digunakan, hanya membutuhkan satu paket untuk mencakup semua fungsi. Ini didasarkan pada desain kelas, seperti kelas Connection, yang membungkus banyak operasi umum. Namun, desain ini juga membawa beberapa masalah, seperti ukuran kode yang terlalu besar, perangkat pengguna perlu mengunduh banyak kode yang mungkin tidak terpakai.
Versi 2.x mengadopsi pendekatan modular, membagi repositori kode menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, dan lain-lain. Versi baru ini meninggalkan implementasi berbasis kelas dan lebih banyak menggunakan fungsi tunggal, yang menguntungkan dalam optimasi saat membangun kode JavaScript. Pendekatan ini dapat mengurangi jumlah kode yang sebenarnya diunduh ke perangkat pengguna, menurut statistik resmi, aplikasi yang menggunakan versi baru biasanya dapat mencapai optimasi ukuran sebesar 30%.
Salah satu fitur penting dari versi baru adalah tanpa ketergantungan. Fitur ini sangat penting dalam mengurangi risiko keamanan, terutama mengingat serangan rantai pasokan yang baru-baru ini terjadi pada versi 1.95.5 dan 1.95.6.
Perubahan Utama
cara koneksi
Versi 2.x menggunakan pendekatan yang lebih fungsional untuk menangani koneksi. Tidak lagi menggunakan kelas Connection, tetapi membuat pengirim permintaan melalui konfigurasi alamat permintaan RPC.
pengolahan kunci pasangan
Dalam versi baru, kelas Keypair dan PublicKey telah digantikan oleh serangkaian fungsi. Misalnya, kini kita menggunakan fungsi generateKeyPair() untuk menghasilkan pasangan kunci, yang mengembalikan sebuah Promise. Perubahan ini memanfaatkan Web Crypto API JavaScript, menggunakan implementasi Ed25519 asli.
Pengiriman transaksi
Versi 2.x tidak lagi menggunakan kelas Transaction dan VersionedTransaction. Metode terkait Program Sistem juga telah berubah dan perlu diimpor dari modul lain. Versi baru menyediakan bentuk pipe yang umum digunakan dalam pemrograman fungsional, yang meningkatkan kemampuan kustomisasi kode.
Dukungan React
Perlu dicatat bahwa proyek ini juga mencakup pustaka @solana/react, yang menyediakan beberapa React Hook dan memiliki fitur bawaan seperti signIn.
Ringkasan
Peluncuran versi 2.x dari Solana Web3.js menunjukkan komitmen tim pengembang untuk perbaikan berkelanjutan. Versi baru ini memberikan cara yang lebih efisien, fleksibel, dan dapat disesuaikan bagi pengembang untuk berinteraksi dengan jaringan Solana, diharapkan dapat mendorong perkembangan dan penerapan platform lebih lanjut.
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.
Solana Web3.js 2.x dirilis: Desain modular meningkatkan kinerja dan keamanan
Solana Web3.js Versi 2.x: Pembaruan Besar untuk Perpustakaan JavaScript yang Kaya Fitur
Solana Web3.js sebagai pustaka JavaScript yang kaya fitur, resmi merilis versi 2.x pada bulan November tahun ini. Dibandingkan dengan versi 1.x, versi baru ini membawa perubahan yang signifikan. Meskipun saat ini tingkat penggunaan versi 2.x masih rendah, banyak pustaka populer yang belum bermigrasi, tetapi memahami pembaruan ini sangat membantu untuk pekerjaan pengembangan di masa depan.
Perbandingan Versi
Versi 1.x relatif mudah digunakan, hanya membutuhkan satu paket untuk mencakup semua fungsi. Ini didasarkan pada desain kelas, seperti kelas Connection, yang membungkus banyak operasi umum. Namun, desain ini juga membawa beberapa masalah, seperti ukuran kode yang terlalu besar, perangkat pengguna perlu mengunduh banyak kode yang mungkin tidak terpakai.
Versi 2.x mengadopsi pendekatan modular, membagi repositori kode menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, dan lain-lain. Versi baru ini meninggalkan implementasi berbasis kelas dan lebih banyak menggunakan fungsi tunggal, yang menguntungkan dalam optimasi saat membangun kode JavaScript. Pendekatan ini dapat mengurangi jumlah kode yang sebenarnya diunduh ke perangkat pengguna, menurut statistik resmi, aplikasi yang menggunakan versi baru biasanya dapat mencapai optimasi ukuran sebesar 30%.
Salah satu fitur penting dari versi baru adalah tanpa ketergantungan. Fitur ini sangat penting dalam mengurangi risiko keamanan, terutama mengingat serangan rantai pasokan yang baru-baru ini terjadi pada versi 1.95.5 dan 1.95.6.
Perubahan Utama
cara koneksi
Versi 2.x menggunakan pendekatan yang lebih fungsional untuk menangani koneksi. Tidak lagi menggunakan kelas Connection, tetapi membuat pengirim permintaan melalui konfigurasi alamat permintaan RPC.
pengolahan kunci pasangan
Dalam versi baru, kelas Keypair dan PublicKey telah digantikan oleh serangkaian fungsi. Misalnya, kini kita menggunakan fungsi generateKeyPair() untuk menghasilkan pasangan kunci, yang mengembalikan sebuah Promise. Perubahan ini memanfaatkan Web Crypto API JavaScript, menggunakan implementasi Ed25519 asli.
Pengiriman transaksi
Versi 2.x tidak lagi menggunakan kelas Transaction dan VersionedTransaction. Metode terkait Program Sistem juga telah berubah dan perlu diimpor dari modul lain. Versi baru menyediakan bentuk pipe yang umum digunakan dalam pemrograman fungsional, yang meningkatkan kemampuan kustomisasi kode.
Dukungan React
Perlu dicatat bahwa proyek ini juga mencakup pustaka @solana/react, yang menyediakan beberapa React Hook dan memiliki fitur bawaan seperti signIn.
Ringkasan
Peluncuran versi 2.x dari Solana Web3.js menunjukkan komitmen tim pengembang untuk perbaikan berkelanjutan. Versi baru ini memberikan cara yang lebih efisien, fleksibel, dan dapat disesuaikan bagi pengembang untuk berinteraksi dengan jaringan Solana, diharapkan dapat mendorong perkembangan dan penerapan platform lebih lanjut.