Solana Web3.js выпустила версию 2.x в ноябре этого года, которая принесла значительные изменения по сравнению с версией 1.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. Методы, связанные с системной программой, также необходимо импортировать из других источников. Новая версия предлагает функциональный стиль программирования, обычно используемый в pipe-формате, что позволяет более гибко строить транзакции.
Инициирование и подтверждение сделок теперь больше зависит от соединения WebSocket, что предъявляет более высокие требования к стабильности услуг поставщиков RPC.
React поддержка
Новая версия также включает библиотеку @solana/react, которая предоставляет некоторые хуки React и имеет встроенные функции, такие как signIn.
Резюме
Выпуск версии 2.x Solana Web3.js демонстрирует приверженность команды Solana к постоянному совершенствованию. Новая версия предоставляет разработчикам более эффективный, гибкий и настраиваемый способ взаимодействия с сетью Solana, что, как ожидается, будет способствовать дальнейшему принятию и развитию платформы.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
10 Лайков
Награда
10
8
Поделиться
комментарий
0/400
PermabullPete
· 07-21 07:13
Эта волна действительно крута
Посмотреть ОригиналОтветить0
StakeOrRegret
· 07-21 01:55
Вау, фронтенд снова сделал новое!
Посмотреть ОригиналОтветить0
ContractFreelancer
· 07-20 17:43
Разве это не просто смена оболочки?
Посмотреть ОригиналОтветить0
LayoffMiner
· 07-18 21:21
Старые пользователи знают, что все зависит от Solana ++
Посмотреть ОригиналОтветить0
GateUser-44a00d6c
· 07-18 21:19
тмд код снова нужно менять
Посмотреть ОригиналОтветить0
OnchainGossiper
· 07-18 21:17
Снова хвастается~давайте посмотрим, не подведет ли эта волна.
Solana Web3.js 2.x: Функциональное программирование ведет к новой эпохе оптимизации производительности
Solana Web3.js 2.x: Эпоха функционального программирования
Solana Web3.js выпустила версию 2.x в ноябре этого года, которая принесла значительные изменения по сравнению с версией 1.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. Методы, связанные с системной программой, также необходимо импортировать из других источников. Новая версия предлагает функциональный стиль программирования, обычно используемый в pipe-формате, что позволяет более гибко строить транзакции.
Инициирование и подтверждение сделок теперь больше зависит от соединения WebSocket, что предъявляет более высокие требования к стабильности услуг поставщиков RPC.
React поддержка
Новая версия также включает библиотеку @solana/react, которая предоставляет некоторые хуки React и имеет встроенные функции, такие как signIn.
Резюме
Выпуск версии 2.x Solana Web3.js демонстрирует приверженность команды Solana к постоянному совершенствованию. Новая версия предоставляет разработчикам более эффективный, гибкий и настраиваемый способ взаимодействия с сетью Solana, что, как ожидается, будет способствовать дальнейшему принятию и развитию платформы.