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

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

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

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

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

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

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

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

Іншою важливою характеристикою версії 2.x є нульова залежність. Ця особливість має велике значення для підвищення безпеки, особливо враховуючи нещодавні атаки на ланцюг постачань у версіях 1.95.5 та 1.95.6.

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

з'єднання

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

ключова пара

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

відправити транзакцію

У версії 2.x більше не використовуються класи Transaction та VersionedTransaction. Методи, пов'язані з системною програмою, також потрібно імпортувати з інших місць. Наприклад, інструкція transfer тепер вимагає виклику функції getTransferSolInstruction з @solana-program/system.

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

Підтримка React

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

Підсумок

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

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

SOL3.29%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
JustHodlItvip
· 13год тому
2.x стабільно, вперед!
Переглянути оригіналвідповісти на0
CryptoMomvip
· 07-20 08:14
Нарешті оновлення, давайте подивимось на 2.x
Переглянути оригіналвідповісти на0
ETHReserveBankvip
· 07-19 17:40
Відкриваємо шампанське, чекаємо на оновлення.
Переглянути оригіналвідповісти на0
LuckyHashValuevip
· 07-19 17:40
sola знову ожила
Переглянути оригіналвідповісти на0
LiquidityNinjavip
· 07-19 17:37
Солана все ще бик
Переглянути оригіналвідповісти на0
EyeOfTheTokenStormvip
· 07-19 17:13
Дані показують ще одну хвилю биків? Увійти в позицію?
Переглянути оригіналвідповісти на0
  • Закріпити