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.
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.
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 peningkatan besar: desain modular meningkatkan kinerja dan keamanan
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.
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.