Solana Web3.js 2.x версія: значне оновлення функціональної JavaScript бібліотеки
Solana Web3.js як функціональна JavaScript бібліотека, офіційно випустила версію 2.x у листопаді цього року. У порівнянні з версією 1.x, нова версія принесла суттєві зміни. Хоча наразі використання версії 2.x не є високим, багато популярних бібліотек ще не мігрували, але розуміння цих оновлень дуже корисно для майбутньої розробки.
Порівняння версій
Використання версії 1.x є відносно простим, достатньо одного пакету, щоб охопити всі функції. Він побудований на основі класового дизайну, наприклад, класу Connection, який інкапсулює велику кількість звичних операцій. Однак цей дизайн також приносить певні проблеми, такі як надмірний розмір кодової бази, користувачам доводиться завантажувати велику кількість коду, який, можливо, їм не знадобиться.
Версія 2.x використовує модульний підхід, розділяючи кодову базу на кілька малих модулів, таких як @solana/accounts, @solana/codecs тощо. Нова версія відмовилася від реалізації на основі класів, більше зосереджуючись на окремих функціях, що сприяє оптимізації під час збору JavaScript коду. Цей підхід може зменшити фактичну кількість коду, що завантажується на пристрої користувачів; за офіційними даними, застосунки, що використовують нову версію, зазвичай можуть досягти 30% оптимізації розміру.
Однією з важливих особливостей нової версії є нульова залежність. Ця риса є особливо важливою для зменшення ризиків безпеки, особливо враховуючи нещодавні атаки на постачальницький ланцюг у версіях 1.95.5 та 1.95.6.
Основні зміни
спосіб підключення
Версія 2.x використовує більш функціональний підхід до обробки з'єднань. Клас Connection більше не використовується, замість цього запитувальний відправник створюється шляхом конфігурації адреси RPC запиту.
обробка ключової пари
У новій версії класи Keypair і PublicKey були замінені серією функцій. Наприклад, тепер для генерації ключової пари використовується функція generateKeyPair(), яка повертає Promise. Ця зміна використовує Web Crypto API JavaScript, застосовуючи рідну реалізацію Ed25519.
Відправка транзакції
Версія 2.x більше не використовує класи Transaction та VersionedTransaction. Методи, пов'язані з системною програмою, також змінилися і їх потрібно імпортувати з інших модулів. Нова версія пропонує функціональний підхід у формі pipe, що підвищує налаштовуваність коду.
React підтримка
Варто зазначити, що проект також містить бібліотеку @solana/react, яка надає деякі React Hook і має вбудовані функції, такі як signIn.
Резюме
Випуск версії 2.x Solana Web3.js демонструє прагнення команди розробників до постійного вдосконалення. Нова версія надає розробникам більш ефективний, гнучкий та настроювальний спосіб взаємодії з мережею Solana, що, можливо, сприятиме подальшому розвитку та застосуванню платформи.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Випуск Solana Web3.js 2.x: модульний дизайн покращує продуктивність та безпеку
Solana Web3.js 2.x версія: значне оновлення функціональної JavaScript бібліотеки
Solana Web3.js як функціональна JavaScript бібліотека, офіційно випустила версію 2.x у листопаді цього року. У порівнянні з версією 1.x, нова версія принесла суттєві зміни. Хоча наразі використання версії 2.x не є високим, багато популярних бібліотек ще не мігрували, але розуміння цих оновлень дуже корисно для майбутньої розробки.
Порівняння версій
Використання версії 1.x є відносно простим, достатньо одного пакету, щоб охопити всі функції. Він побудований на основі класового дизайну, наприклад, класу Connection, який інкапсулює велику кількість звичних операцій. Однак цей дизайн також приносить певні проблеми, такі як надмірний розмір кодової бази, користувачам доводиться завантажувати велику кількість коду, який, можливо, їм не знадобиться.
Версія 2.x використовує модульний підхід, розділяючи кодову базу на кілька малих модулів, таких як @solana/accounts, @solana/codecs тощо. Нова версія відмовилася від реалізації на основі класів, більше зосереджуючись на окремих функціях, що сприяє оптимізації під час збору JavaScript коду. Цей підхід може зменшити фактичну кількість коду, що завантажується на пристрої користувачів; за офіційними даними, застосунки, що використовують нову версію, зазвичай можуть досягти 30% оптимізації розміру.
Однією з важливих особливостей нової версії є нульова залежність. Ця риса є особливо важливою для зменшення ризиків безпеки, особливо враховуючи нещодавні атаки на постачальницький ланцюг у версіях 1.95.5 та 1.95.6.
Основні зміни
спосіб підключення
Версія 2.x використовує більш функціональний підхід до обробки з'єднань. Клас Connection більше не використовується, замість цього запитувальний відправник створюється шляхом конфігурації адреси RPC запиту.
обробка ключової пари
У новій версії класи Keypair і PublicKey були замінені серією функцій. Наприклад, тепер для генерації ключової пари використовується функція generateKeyPair(), яка повертає Promise. Ця зміна використовує Web Crypto API JavaScript, застосовуючи рідну реалізацію Ed25519.
Відправка транзакції
Версія 2.x більше не використовує класи Transaction та VersionedTransaction. Методи, пов'язані з системною програмою, також змінилися і їх потрібно імпортувати з інших модулів. Нова версія пропонує функціональний підхід у формі pipe, що підвищує налаштовуваність коду.
React підтримка
Варто зазначити, що проект також містить бібліотеку @solana/react, яка надає деякі React Hook і має вбудовані функції, такі як signIn.
Резюме
Випуск версії 2.x Solana Web3.js демонструє прагнення команди розробників до постійного вдосконалення. Нова версія надає розробникам більш ефективний, гнучкий та настроювальний спосіб взаємодії з мережею Solana, що, можливо, сприятиме подальшому розвитку та застосуванню платформи.