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

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

Web3.js 2.x версія: Нова глава розробки Solana

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

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

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

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

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

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

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

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

з'єднання

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

ключова пара

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

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

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

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

Підтримка React

Варто зазначити, що проєкт @solana/web3.js також включає бібліотеку під назвою @solana/react, яка надає деякі React Hook, вбудовані функції, такі як signIn, що забезпечує більше зручностей для розробників на React.

Резюме

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

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

SOL-1.07%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 1
  • Поділіться
Прокоментувати
0/400
NotAFinancialAdvicevip
· 07-25 07:27
Нарешті почав використовувати функціональне програмування.
Переглянути оригіналвідповісти на0
  • Закріпити