Випуск Solana Web3.js 2.x: модульний дизайн покращує продуктивність та безпеку

Solana Web3.js 2.x версія: значне оновлення функціональної JavaScript бібліотеки

Solana Web3.js як функціональна JavaScript бібліотека, офіційно випустила версію 2.x у листопаді цього року. У порівнянні з версією 1.x, нова версія принесла суттєві зміни. Хоча наразі використання версії 2.x не є високим, багато популярних бібліотек ще не мігрували, але розуміння цих оновлень дуже корисно для майбутньої розробки.

Web3 новачок серії: тепер оновлюйте @solana/web3.js 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, що, можливо, сприятиме подальшому розвитку та застосуванню платформи.

Серія для новачків Web3: тепер оновіть @solana/web3.js 2.x, щоб розпочати функціональне програмування

SOL-1.29%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 8
  • Репост
  • Поділіться
Прокоментувати
0/400
ProbablyNothingvip
· 07-25 21:35
Все ще чекаєш на 1.x, це справді абсурд.
Переглянути оригіналвідповісти на0
OnChainArchaeologistvip
· 07-24 17:21
Знову таємно оптимізуємо продуктивність
Переглянути оригіналвідповісти на0
0xSherlockvip
· 07-24 09:41
новий варіант бик що міграція ще важка
Переглянути оригіналвідповісти на0
TokenSleuthvip
· 07-23 08:01
Ага, нарешті вийшло 2.0!
Переглянути оригіналвідповісти на0
JustAnotherWalletvip
· 07-23 07:57
А це ж не те, що раніше мене обдурило?
Переглянути оригіналвідповісти на0
GasFeePhobiavip
· 07-23 07:55
Спробував, занадто повільно!
Переглянути оригіналвідповісти на0
ColdWalletGuardianvip
· 07-23 07:38
спочатку купити, потім зростання gg
Переглянути оригіналвідповісти на0
GweiTooHighvip
· 07-23 07:33
Я просто люблю тонкі млинці
Переглянути оригіналвідповісти на0
  • Закріпити