Solana Web3.js 2.x Versi: Era Baru Pemrograman Fungsional
Solana Web3.js sebagai pustaka JavaScript yang kaya fitur, resmi merilis versi 2.x pada bulan November tahun ini. Dibandingkan dengan 1.x, versi baru ini membawa perubahan besar, artikel ini akan memberikan ringkasan tentang perubahan utamanya.
Meskipun versi 2.x baru saja diluncurkan dan penggunaannya belum sebanding dengan versi lama, memahami perubahan ini sangat penting untuk migrasi proyek di masa depan.
Perbandingan Versi
Tidak dapat disangkal, pengalaman penggunaan versi lama lebih sederhana. Versi 1.x terpusat dalam satu paket, menggunakan desain berbasis kelas, yang membungkus banyak operasi umum. Misalnya, kelas Connection menyediakan puluhan metode yang hampir mencakup semua fungsi yang diperlukan pengembang. Namun, desain ini juga membawa beberapa masalah, seperti kelebihan kode dan waktu pemuatan yang lebih lama.
Versi 2.x telah mengambil desain modular, membagi repositori kode yang ada menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, @solana/rpc, dan sebagainya. Pada saat yang sama, versi baru ini mengabaikan implementasi berbasis kelas dan beralih ke metode fungsi tunggal, yang menguntungkan optimasi saat membangun kode JavaScript. Menurut statistik, aplikasi yang menggunakan versi baru umumnya dapat mencapai optimasi ukuran sebesar 30%, dan untuk aplikasi yang hanya menggunakan sejumlah kecil fitur, proporsi optimasi mungkin lebih tinggi.
Desain modular versi baru telah meningkatkan tuntutan kualitas dokumen. Sejauh ini, penamaan setiap modul memiliki semantik yang baik, yang pada tingkat tertentu mengurangi kesulitan migrasi bagi pengembang.
Perlu dicatat bahwa versi 2.x telah mengimplementasikan ketergantungan nol. 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. Tim pengembang memutuskan untuk lebih memanfaatkan fitur bawaan, menghapus ketergantungan eksternal dan pengenalan Polyfills.
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 ini untuk mengajukan berbagai permintaan.
pasangan kunci
Pengolahan yang terkait dengan kunci publik dan kunci pribadi juga mengalami perubahan signifikan. Kelas Keypair dan PublicKey yang umum digunakan di versi 1.x telah digantikan oleh serangkaian fungsi. Misalnya, sekarang Anda dapat menggunakan fungsi generateKeyPair() yang bersifat asinkron untuk menghasilkan pasangan kunci. Perubahan ini berasal dari versi baru yang lebih memanfaatkan Web Crypto API JavaScript, dengan mengadopsi implementasi Ed25519 yang asli.
kirim transaksi
Versi 2.x tidak lagi menggunakan kelas Transaction dan VersionedTransaction. Metode terkait Program Sistem juga perlu diimpor dari tempat lain. Misalnya, instruksi transfer sekarang perlu memanggil fungsi getTransferSolInstruction di @solana-program/system.
Versi baru menyediakan bentuk pipe yang umum digunakan dalam pemrograman fungsional, sehingga proses inisiasi dan konfirmasi transaksi menjadi lebih fleksibel dan dapat disesuaikan.
React mendukung
Perlu dicatat bahwa proyek @solana/web3.js sekarang mencakup pustaka bernama @solana/react, yang menyediakan beberapa React Hook, dengan fitur bawaan seperti signIn.
Ringkasan
Peluncuran versi 2.x dari @solana/web3.js menunjukkan tekad tim Solana untuk terus berinovasi. Versi baru ini memberikan cara interaksi jaringan Solana yang lebih efisien, fleksibel, dan dapat disesuaikan bagi pengembang, yang diharapkan dapat lebih mendorong adopsi dan pengembangan platform tersebut.
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.
12 Suka
Hadiah
12
6
Bagikan
Komentar
0/400
SellTheBounce
· 07-08 14:55
Ada teknologi tidak sebanding dengan kemanusiaan, kerugian adalah takdir.
Lihat AsliBalas0
just_another_fish
· 07-07 22:21
Kode yang ditulis dengan baik masukkan posisi menyalin tugas
Lihat AsliBalas0
AllInDaddy
· 07-06 22:49
Akhirnya versi baru dirilis! buy the dip siap-siap!
Solana Web3.js 2.x dirilis: Desain modular meningkatkan kinerja dan keamanan
Solana Web3.js 2.x Versi: Era Baru Pemrograman Fungsional
Solana Web3.js sebagai pustaka JavaScript yang kaya fitur, resmi merilis versi 2.x pada bulan November tahun ini. Dibandingkan dengan 1.x, versi baru ini membawa perubahan besar, artikel ini akan memberikan ringkasan tentang perubahan utamanya.
Meskipun versi 2.x baru saja diluncurkan dan penggunaannya belum sebanding dengan versi lama, memahami perubahan ini sangat penting untuk migrasi proyek di masa depan.
Perbandingan Versi
Tidak dapat disangkal, pengalaman penggunaan versi lama lebih sederhana. Versi 1.x terpusat dalam satu paket, menggunakan desain berbasis kelas, yang membungkus banyak operasi umum. Misalnya, kelas Connection menyediakan puluhan metode yang hampir mencakup semua fungsi yang diperlukan pengembang. Namun, desain ini juga membawa beberapa masalah, seperti kelebihan kode dan waktu pemuatan yang lebih lama.
Versi 2.x telah mengambil desain modular, membagi repositori kode yang ada menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, @solana/rpc, dan sebagainya. Pada saat yang sama, versi baru ini mengabaikan implementasi berbasis kelas dan beralih ke metode fungsi tunggal, yang menguntungkan optimasi saat membangun kode JavaScript. Menurut statistik, aplikasi yang menggunakan versi baru umumnya dapat mencapai optimasi ukuran sebesar 30%, dan untuk aplikasi yang hanya menggunakan sejumlah kecil fitur, proporsi optimasi mungkin lebih tinggi.
Desain modular versi baru telah meningkatkan tuntutan kualitas dokumen. Sejauh ini, penamaan setiap modul memiliki semantik yang baik, yang pada tingkat tertentu mengurangi kesulitan migrasi bagi pengembang.
Perlu dicatat bahwa versi 2.x telah mengimplementasikan ketergantungan nol. 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. Tim pengembang memutuskan untuk lebih memanfaatkan fitur bawaan, menghapus ketergantungan eksternal dan pengenalan Polyfills.
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 ini untuk mengajukan berbagai permintaan.
pasangan kunci
Pengolahan yang terkait dengan kunci publik dan kunci pribadi juga mengalami perubahan signifikan. Kelas Keypair dan PublicKey yang umum digunakan di versi 1.x telah digantikan oleh serangkaian fungsi. Misalnya, sekarang Anda dapat menggunakan fungsi generateKeyPair() yang bersifat asinkron untuk menghasilkan pasangan kunci. Perubahan ini berasal dari versi baru yang lebih memanfaatkan Web Crypto API JavaScript, dengan mengadopsi implementasi Ed25519 yang asli.
kirim transaksi
Versi 2.x tidak lagi menggunakan kelas Transaction dan VersionedTransaction. Metode terkait Program Sistem juga perlu diimpor dari tempat lain. Misalnya, instruksi transfer sekarang perlu memanggil fungsi getTransferSolInstruction di @solana-program/system.
Versi baru menyediakan bentuk pipe yang umum digunakan dalam pemrograman fungsional, sehingga proses inisiasi dan konfirmasi transaksi menjadi lebih fleksibel dan dapat disesuaikan.
React mendukung
Perlu dicatat bahwa proyek @solana/web3.js sekarang mencakup pustaka bernama @solana/react, yang menyediakan beberapa React Hook, dengan fitur bawaan seperti signIn.
Ringkasan
Peluncuran versi 2.x dari @solana/web3.js menunjukkan tekad tim Solana untuk terus berinovasi. Versi baru ini memberikan cara interaksi jaringan Solana yang lebih efisien, fleksibel, dan dapat disesuaikan bagi pengembang, yang diharapkan dapat lebih mendorong adopsi dan pengembangan platform tersebut.