Версия Solana Web3.js 2.x официально выпущена в ноябре этого года, и по сравнению с версией 1.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-провайдера. Это увеличивает настраиваемость кода, но также немного увеличивает объем кода.
Поддержка React
В проекте @solana/web3.js также содержится библиотека @solana/react, которая предоставляет некоторые React Hook и включает такие функции, как signIn.
Итог
Выпуск версии 2.x библиотеки @solana/web3.js демонстрирует приверженность команды Solana к постоянному совершенствованию. Новая версия предоставляет разработчикам более эффективный, гибкий и настраиваемый способ взаимодействия с сетью Solana, что, как ожидается, будет способствовать дальнейшему развитию и принятию этой платформы.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
12 Лайков
Награда
12
6
Поделиться
комментарий
0/400
JustHodlIt
· 23ч назад
2.x стабильно, вперед!
Посмотреть ОригиналОтветить0
CryptoMom
· 07-20 08:14
Наконец-то обновление, давайте посмотрим на 2.x.
Посмотреть ОригиналОтветить0
ETHReserveBank
· 07-19 17:40
Открываем шампанское, ждем обновления впереди.
Посмотреть ОригиналОтветить0
LuckyHashValue
· 07-19 17:40
сола снова ожила
Посмотреть ОригиналОтветить0
LiquidityNinja
· 07-19 17:37
Солана все еще бык
Посмотреть ОригиналОтветить0
EyeOfTheTokenStorm
· 07-19 17:13
Данные показывают, что это предвестие новой волны быков? Войти в позицию?
Выпуск Solana Web3.js 2.x: новая эпоха модульного дизайна и функционального программирования без зависимостей
Solana Web3.js 2.x версия: эпоха функционального программирования
Версия Solana Web3.js 2.x официально выпущена в ноябре этого года, и по сравнению с версией 1.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-провайдера. Это увеличивает настраиваемость кода, но также немного увеличивает объем кода.
Поддержка React
В проекте @solana/web3.js также содержится библиотека @solana/react, которая предоставляет некоторые React Hook и включает такие функции, как signIn.
Итог
Выпуск версии 2.x библиотеки @solana/web3.js демонстрирует приверженность команды Solana к постоянному совершенствованию. Новая версия предоставляет разработчикам более эффективный, гибкий и настраиваемый способ взаимодействия с сетью Solana, что, как ожидается, будет способствовать дальнейшему развитию и принятию этой платформы.