Solana Web3.js 2.x versi: Pemisahan dan Optimalisasi
Solana Web3.js adalah pustaka JavaScript yang kaya fitur, yang baru-baru ini merilis versi 2.x. Dibandingkan dengan 1.x, versi baru ini memiliki perubahan yang signifikan, artikel ini akan merangkum pembaruan utamanya.
Meskipun rilis 2.x relatif baru, penggunaannya tidak tinggi, dan banyak pustaka yang banyak digunakan belum dimigrasikan, tetapi mengetahui perubahan ini sebelumnya dapat membantu Anda mempersiapkan peningkatan di masa mendatang.
Bandingkan versi
Versi lama lebih sederhana digunakan, semua fungsi terpusat dalam paket @solana/web3.js, yang mengemas banyak operasi umum berdasarkan desain kelas. Namun, desain ini juga membawa beberapa masalah, seperti seluruh perpustakaan akan diunduh ke perangkat pengguna, bahkan jika hanya menggunakan sebagian kecil dari fungsinya.
Versi 2.x membagi repositori kode menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, @solana/rpc, dan lain-lain. Versi baru ini mengabaikan implementasi berbasis kelas dan lebih banyak menggunakan fungsi tunggal, yang menguntungkan optimasi saat membangun kode JavaScript. Kode yang tidak digunakan akan dihapus dan tidak akan diunduh ke perangkat pengguna. Menurut statistik resmi, aplikasi yang menggunakan versi baru dapat memperoleh optimasi ukuran hingga 30%.
Desain modular dari versi baru menempatkan tuntutan yang lebih tinggi pada dokumentasi pengembangan. Saat ini, nama modul memiliki semantik yang baik untuk membantu pengembang dengan cepat menemukan fitur yang mereka butuhkan. Namun, karena baru saja dirilis, banyak proyek yang belum dimigrasikan, dan ada beberapa contohnya.
Fitur penting lainnya dari rilis 2.x adalah ketergantungan nol. Fitur ini mungkin tidak berdampak banyak pada rata-rata pengguna, tetapi penting dari perspektif keamanan. Tim pengembangan memutuskan untuk lebih banyak menggunakan fitur asli, menghilangkan dependensi eksternal dan pengenalan polyfill untuk mengurangi risiko keamanan.
Perubahan Utama
pengolahan koneksi
Versi baru mengimplementasikan koneksi dengan cara yang lebih fungsional. Misalnya, saat mengirim transaksi, secara otomatis akan memulai permintaan HTTPS dan membangun koneksi WSS, berlangganan status transaksi, dan mengembalikan hash transaksi setelah konfirmasi transaksi.
Manajemen pasangan kunci
Fungsi yang terkait dengan kunci publik dan pribadi telah berubah secara signifikan. Kelas Keypair dan PublicKey yang biasa digunakan dalam rilis 1.x tidak lagi ada dan telah digantikan oleh beberapa fungsi. Misalnya, Anda dapat menggunakan await generateKeyPair() untuk membuat pasangan kunci alih-alih Keypair sebelumnya.generate().
Implementasi baru memanfaatkan Web Crypto API JavaScript sebisa mungkin, menggunakan implementasi Ed25519 asli. Hal ini menyebabkan beberapa metode menjadi asinkron, tetapi bukan masalah besar bagi pengembang yang terbiasa dengan Promise.
Pengiriman transaksi
Pada versi 2.x, kelas Transaction dan VersionedTransaction tidak lagi ada. Metode terkait System Program juga tidak ada, perlu diimpor dari modul lain.
Versi baru menyediakan bentuk pipa, yang biasa digunakan dalam pemrograman fungsional. Misalnya, saat mengimplementasikan fungsi transfer, alih-alih memulai transaksi melalui Connection, fungsi tertentu dihasilkan oleh Penyedia RPC yang ditentukan. Pendekatan ini meningkatkan jumlah kode, tetapi memberikan kemampuan penyesuaian yang lebih besar.
React mendukung
Perlu dicatat bahwa 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 tim pengembang terhadap perbaikan berkelanjutan. Versi baru ini memberikan cara interaksi jaringan Solana yang lebih efisien, fleksibel, dan dapat disesuaikan bagi para pengembang, yang diharapkan dapat mendorong adopsi dan perkembangan platform.
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.
15 Suka
Hadiah
15
9
Bagikan
Komentar
0/400
ProbablyNothing
· 07-19 15:36
sol akhirnya mulai naik
Lihat AsliBalas0
GweiWatcher
· 07-18 09:24
Koneksi adalah raja!
Lihat AsliBalas0
MoonBoi42
· 07-18 08:31
Barisan depan makan semangka bullish sol
Lihat AsliBalas0
CryptoMotivator
· 07-17 01:02
Akhirnya menunggu pembaruan ini!
Lihat AsliBalas0
Anon32942
· 07-17 01:01
Akhirnya dioptimalkan, sepertinya sebelumnya benar-benar tidak berhasil.
Pembaruan besar untuk Solana Web3.js 2.x: Desain modular meningkatkan kinerja dan keamanan
Solana Web3.js 2.x versi: Pemisahan dan Optimalisasi
Solana Web3.js adalah pustaka JavaScript yang kaya fitur, yang baru-baru ini merilis versi 2.x. Dibandingkan dengan 1.x, versi baru ini memiliki perubahan yang signifikan, artikel ini akan merangkum pembaruan utamanya.
Meskipun rilis 2.x relatif baru, penggunaannya tidak tinggi, dan banyak pustaka yang banyak digunakan belum dimigrasikan, tetapi mengetahui perubahan ini sebelumnya dapat membantu Anda mempersiapkan peningkatan di masa mendatang.
Bandingkan versi
Versi lama lebih sederhana digunakan, semua fungsi terpusat dalam paket @solana/web3.js, yang mengemas banyak operasi umum berdasarkan desain kelas. Namun, desain ini juga membawa beberapa masalah, seperti seluruh perpustakaan akan diunduh ke perangkat pengguna, bahkan jika hanya menggunakan sebagian kecil dari fungsinya.
Versi 2.x membagi repositori kode menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, @solana/rpc, dan lain-lain. Versi baru ini mengabaikan implementasi berbasis kelas dan lebih banyak menggunakan fungsi tunggal, yang menguntungkan optimasi saat membangun kode JavaScript. Kode yang tidak digunakan akan dihapus dan tidak akan diunduh ke perangkat pengguna. Menurut statistik resmi, aplikasi yang menggunakan versi baru dapat memperoleh optimasi ukuran hingga 30%.
Desain modular dari versi baru menempatkan tuntutan yang lebih tinggi pada dokumentasi pengembangan. Saat ini, nama modul memiliki semantik yang baik untuk membantu pengembang dengan cepat menemukan fitur yang mereka butuhkan. Namun, karena baru saja dirilis, banyak proyek yang belum dimigrasikan, dan ada beberapa contohnya.
Fitur penting lainnya dari rilis 2.x adalah ketergantungan nol. Fitur ini mungkin tidak berdampak banyak pada rata-rata pengguna, tetapi penting dari perspektif keamanan. Tim pengembangan memutuskan untuk lebih banyak menggunakan fitur asli, menghilangkan dependensi eksternal dan pengenalan polyfill untuk mengurangi risiko keamanan.
Perubahan Utama
pengolahan koneksi
Versi baru mengimplementasikan koneksi dengan cara yang lebih fungsional. Misalnya, saat mengirim transaksi, secara otomatis akan memulai permintaan HTTPS dan membangun koneksi WSS, berlangganan status transaksi, dan mengembalikan hash transaksi setelah konfirmasi transaksi.
Manajemen pasangan kunci
Fungsi yang terkait dengan kunci publik dan pribadi telah berubah secara signifikan. Kelas Keypair dan PublicKey yang biasa digunakan dalam rilis 1.x tidak lagi ada dan telah digantikan oleh beberapa fungsi. Misalnya, Anda dapat menggunakan await generateKeyPair() untuk membuat pasangan kunci alih-alih Keypair sebelumnya.generate().
Implementasi baru memanfaatkan Web Crypto API JavaScript sebisa mungkin, menggunakan implementasi Ed25519 asli. Hal ini menyebabkan beberapa metode menjadi asinkron, tetapi bukan masalah besar bagi pengembang yang terbiasa dengan Promise.
Pengiriman transaksi
Pada versi 2.x, kelas Transaction dan VersionedTransaction tidak lagi ada. Metode terkait System Program juga tidak ada, perlu diimpor dari modul lain.
Versi baru menyediakan bentuk pipa, yang biasa digunakan dalam pemrograman fungsional. Misalnya, saat mengimplementasikan fungsi transfer, alih-alih memulai transaksi melalui Connection, fungsi tertentu dihasilkan oleh Penyedia RPC yang ditentukan. Pendekatan ini meningkatkan jumlah kode, tetapi memberikan kemampuan penyesuaian yang lebih besar.
React mendukung
Perlu dicatat bahwa 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 tim pengembang terhadap perbaikan berkelanjutan. Versi baru ini memberikan cara interaksi jaringan Solana yang lebih efisien, fleksibel, dan dapat disesuaikan bagi para pengembang, yang diharapkan dapat mendorong adopsi dan perkembangan platform.