Solana Web3.js 2.x: Функціональне програмування веде до нової ери оптимізації продуктивності

robot
Генерація анотацій у процесі

Solana Web3.js 2.x: Новий етап функціонального програмування

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

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

Порівняння версій

Використання версії 1.x є відносно простим, достатньо одного пакету @solana/web3.js, щоб охопити всі функції. Він базується на класовій архітектурі, наприклад, клас Connection, що надає широкий спектр методів для задоволення потреб розробників. Однак така архітектура також призвела до деяких проблем, таких як занадто великий код, що змушує користувачів завантажувати велику кількість коду, який може не знадобитися.

Версія 2.x впроваджує модульний дизайн, розділяючи кодову базу на кілька малих модулів, таких як @solana/accounts, @solana/codecs тощо. Нова версія відмовляється від реалізації на основі класів, натомість впроваджуючи одиничний функціональний підхід, що сприяє оптимізації під час побудови коду JavaScript. За офіційною статистикою, DApp, що використовують нову версію, зазвичай можуть досягти оптимізації обсягу на 30% або навіть більше.

Однак ця зміна також створила команді Solana виклики в написанні документації, як допомогти розробникам швидко знайти необхідні функції стало ключовим. Наразі назви модулів мають хорошу семантику, що допомагає розробникам зрозуміти призначення кожного модуля.

Слід зазначити, що версія 2.x реалізувала нульову залежність, ця особливість є особливо важливою для підвищення безпеки, особливо після нещодавніх випадків атак на ланцюг постачання.

Важливі зміни

з'єднання

У версії 2.x використовується більш функціональний підхід для обробки з'єднань. Більше не використовується клас Connection, а замість цього створюється відправник запитів через налаштування адреси RPC.

ключова пара

У новій версії класи Keypair та PublicKey були замінені серією функцій. Наприклад, використовуйте await generateKeyPair() для генерації ключової пари. Більшість з цих функцій повертають Promise, використовуючи Web Crypto API JavaScript.

надіслати транзакцію

У версії 2.x більше не використовуються класи Transaction та VersionedTransaction. Методи, пов'язані з системною програмою, також потрібно імпортувати з інших джерел. Нова версія пропонує функціональний стиль програмування, який часто використовують у функціональному програмуванні, дозволяючи більш гнучке створення транзакцій.

Ініціація та підтвердження угод тепер більше залежать від з'єднання WebSocket, що висуває вищі вимоги до стабільності обслуговування постачальників RPC.

Підтримка React

Новий варіант також містить бібліотеку @solana/react, яка пропонує деякі React Hook і має вбудовані функції, такі як signIn.

Підсумок

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

Web3 новачка серія: тепер оновлюємо @solana/web3.js 2.x для початку функціонального програмування

SOL3.94%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 8
  • Поділіться
Прокоментувати
0/400
PermabullPetevip
· 07-21 07:13
Ця хвиля справді крута
Переглянути оригіналвідповісти на0
StakeOrRegretvip
· 07-21 01:55
Вау, фронтенд знову зробив щось нове.
Переглянути оригіналвідповісти на0
ContractFreelancervip
· 07-20 17:43
Хіба це не просто зміна оболонки?
Переглянути оригіналвідповісти на0
LayoffMinervip
· 07-18 21:21
Старі користувачі знають, що все залежить від Solana
Переглянути оригіналвідповісти на0
GateUser-44a00d6cvip
· 07-18 21:19
тmd код знову потрібно змінити
Переглянути оригіналвідповісти на0
OnchainGossipervip
· 07-18 21:17
Знову брешуть~давайте подивимось, чи буде ця хвиля провальною
Переглянути оригіналвідповісти на0
GateUser-1a2ed0b9vip
· 07-18 21:10
Нарешті дочекалися цього оновлення.
Переглянути оригіналвідповісти на0
BridgeTrustFundvip
· 07-18 20:56
Нарешті підтримка React прийшла? Приємно.
Переглянути оригіналвідповісти на0
  • Закріпити