Versi Web3.js 2.x: Bab baru dalam pengembangan Solana
Perpustakaan Solana Web3.js secara resmi meluncurkan versi 2.x pada bulan November tahun ini. Dibandingkan dengan versi 1.x, versi baru ini membawa perubahan yang signifikan. Artikel ini akan merangkum poin-poin utama pembaruan tersebut untuk mempersiapkan pengembang dalam pekerjaan migrasi di masa depan.
Perbandingan Versi
Library Web3.js versi 1.x relatif mudah digunakan, semua fitur terkonsentrasi dalam satu paket @solana/web3.js. Ini didasarkan pada desain kelas, membungkus banyak operasi umum, seperti kelas Connection yang memiliki puluhan metode, yang secara dasar mencakup sebagian besar fungsi yang dibutuhkan oleh pengembang.
Namun, desain ini juga membawa beberapa masalah. Bahkan jika pengembang hanya menggunakan sebagian kecil dari fungsinya, seluruh kode sumber akan diunduh ke perangkat pengguna, yang dapat menyebabkan waktu pemuatan yang lebih lama.
Versi 2.x mengambil strategi yang berbeda. Tim pengembang membagi repositori kode yang ada menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, @solana/rpc, @solana/signers, dan @solana/transactions. Versi baru ini meninggalkan implementasi berbasis kelas dan lebih banyak menggunakan cara fungsi tunggal, yang membantu dalam optimasi saat membangun kode JavaScript. Kode yang tidak digunakan akan dihapus dan tidak akan diunduh ke perangkat pengguna. Menurut statistik resmi, penggunaan DApp versi baru biasanya dapat mencapai optimasi ukuran sebesar 30%, dan jika hanya menggunakan sedikit fungsi, proporsi optimasi mungkin lebih tinggi.
Salah satu fitur penting 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. Tim pengembang Web3.js memutuskan untuk lebih banyak menggunakan fungsi asli, menghapus ketergantungan eksternal dan pengenalan Polyfills.
Poin Perubahan Penting
menghubungkan
Versi 2.x menggunakan pendekatan yang lebih fungsional untuk mengimplementasikan fitur koneksi. Pengembang sekarang dapat membuat pengirim permintaan dengan mengonfigurasi alamat permintaan RPC, lalu menggunakannya untuk mengirim berbagai permintaan.
pasangan kunci
Dalam hal pengolahan pasangan kunci, versi 2.x juga mengalami perubahan besar. Kelas Keypair dan PublicKey yang sebelumnya tidak lagi ada, digantikan oleh beberapa fungsi baru. Misalnya, sekarang Anda dapat menggunakan await generateKeyPair() untuk menghasilkan pasangan kunci, bukan lagi Keypair.generate() sebelumnya. Implementasi baru ini memanfaatkan penuh Web Crypto API JavaScript, menggunakan implementasi Ed25519 asli.
mengirim transaksi
Pada versi 2.x, kelas Transaction dan VersionedTransaction dihapus. Metode terkait System Program juga tidak lagi disediakan secara langsung, dan perlu diimpor dari tempat lain. Sebagai contoh, instruksi transfer sekarang perlu memanggil fungsi getTransferSolInstruction dari @solana-program/system.
Versi baru menyediakan format pipe yang umum digunakan dalam pemrograman fungsional, memungkinkan pengembang untuk menggabungkan dan mengeksekusi operasi transaksi dengan cara yang lebih fleksibel.
Dukungan React
Perlu dicatat bahwa proyek @solana/web3.js juga mencakup sebuah pustaka bernama @solana/react, yang menyediakan beberapa React Hook, dilengkapi dengan fungsi-fungsi seperti signIn, memberikan lebih banyak kemudahan bagi pengembang React.
Ringkasan
Peluncuran versi 2.x dari Solana Web3.js menunjukkan komitmen tim Solana untuk terus melakukan perbaikan dan inovasi. 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.
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.
Peluncuran versi 2.x Solana Web3.js: Desain modular meningkatkan efisiensi pengembangan
Versi Web3.js 2.x: Bab baru dalam pengembangan Solana
Perpustakaan Solana Web3.js secara resmi meluncurkan versi 2.x pada bulan November tahun ini. Dibandingkan dengan versi 1.x, versi baru ini membawa perubahan yang signifikan. Artikel ini akan merangkum poin-poin utama pembaruan tersebut untuk mempersiapkan pengembang dalam pekerjaan migrasi di masa depan.
Perbandingan Versi
Library Web3.js versi 1.x relatif mudah digunakan, semua fitur terkonsentrasi dalam satu paket @solana/web3.js. Ini didasarkan pada desain kelas, membungkus banyak operasi umum, seperti kelas Connection yang memiliki puluhan metode, yang secara dasar mencakup sebagian besar fungsi yang dibutuhkan oleh pengembang.
Namun, desain ini juga membawa beberapa masalah. Bahkan jika pengembang hanya menggunakan sebagian kecil dari fungsinya, seluruh kode sumber akan diunduh ke perangkat pengguna, yang dapat menyebabkan waktu pemuatan yang lebih lama.
Versi 2.x mengambil strategi yang berbeda. Tim pengembang membagi repositori kode yang ada menjadi beberapa modul kecil, seperti @solana/accounts, @solana/codecs, @solana/rpc, @solana/signers, dan @solana/transactions. Versi baru ini meninggalkan implementasi berbasis kelas dan lebih banyak menggunakan cara fungsi tunggal, yang membantu dalam optimasi saat membangun kode JavaScript. Kode yang tidak digunakan akan dihapus dan tidak akan diunduh ke perangkat pengguna. Menurut statistik resmi, penggunaan DApp versi baru biasanya dapat mencapai optimasi ukuran sebesar 30%, dan jika hanya menggunakan sedikit fungsi, proporsi optimasi mungkin lebih tinggi.
Salah satu fitur penting 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. Tim pengembang Web3.js memutuskan untuk lebih banyak menggunakan fungsi asli, menghapus ketergantungan eksternal dan pengenalan Polyfills.
Poin Perubahan Penting
menghubungkan
Versi 2.x menggunakan pendekatan yang lebih fungsional untuk mengimplementasikan fitur koneksi. Pengembang sekarang dapat membuat pengirim permintaan dengan mengonfigurasi alamat permintaan RPC, lalu menggunakannya untuk mengirim berbagai permintaan.
pasangan kunci
Dalam hal pengolahan pasangan kunci, versi 2.x juga mengalami perubahan besar. Kelas Keypair dan PublicKey yang sebelumnya tidak lagi ada, digantikan oleh beberapa fungsi baru. Misalnya, sekarang Anda dapat menggunakan await generateKeyPair() untuk menghasilkan pasangan kunci, bukan lagi Keypair.generate() sebelumnya. Implementasi baru ini memanfaatkan penuh Web Crypto API JavaScript, menggunakan implementasi Ed25519 asli.
mengirim transaksi
Pada versi 2.x, kelas Transaction dan VersionedTransaction dihapus. Metode terkait System Program juga tidak lagi disediakan secara langsung, dan perlu diimpor dari tempat lain. Sebagai contoh, instruksi transfer sekarang perlu memanggil fungsi getTransferSolInstruction dari @solana-program/system.
Versi baru menyediakan format pipe yang umum digunakan dalam pemrograman fungsional, memungkinkan pengembang untuk menggabungkan dan mengeksekusi operasi transaksi dengan cara yang lebih fleksibel.
Dukungan React
Perlu dicatat bahwa proyek @solana/web3.js juga mencakup sebuah pustaka bernama @solana/react, yang menyediakan beberapa React Hook, dilengkapi dengan fungsi-fungsi seperti signIn, memberikan lebih banyak kemudahan bagi pengembang React.
Ringkasan
Peluncuran versi 2.x dari Solana Web3.js menunjukkan komitmen tim Solana untuk terus melakukan perbaikan dan inovasi. 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.