Выпуск Solana Web3.js 2.x: Модульный дизайн улучшает производительность и безопасность

robot
Генерация тезисов в процессе

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

Библиотека Solana Web3.js, обладающая богатым функционалом, официально выпустила версию 2.x в ноябре этого года. По сравнению с версией 1.x, новая версия принесла значительные изменения, и в этой статье будет представлен обзор её основных изменений.

Хотя версия 2.x только что вышла и её использование пока не сравнимо с предыдущей версией, понимание этих изменений имеет решающее значение для будущей миграции проектов.

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

Сравнение версий

Неоспоримо, что использование старой версии было более удобным. Версия 1.x сосредоточена в одном пакете и использует объектно-ориентированный дизайн, который включает множество распространённых операций. Например, класс Connection предоставляет десятки методов, которые охватывают почти все функции, необходимые разработчикам. Однако такой дизайн также приводит к некоторым проблемам, таким как избыточность кода и увеличение времени загрузки.

Версия 2.x приняла модульный дизайн, разделив исходный код на несколько небольших модулей, таких как @solana/accounts, @solana/codecs, @solana/rpc и т.д. В то же время новая версия отказалась от реализации на основе классов и вместо этого приняла единственный функциональный метод, что способствует оптимизации при построении JavaScript-кода. По статистике, приложения, использующие новую версию, в целом могут достичь 30% оптимизации объема, а для приложений, использующих лишь небольшое количество функций, степень оптимизации может быть еще выше.

Новая версия модульного дизайна предъявляет более высокие требования к качеству документации. На данный момент названия каждого модуля имеют хорошую семантику, что в определенной степени снижает сложность миграции для разработчиков.

Стоит отметить, что версия 2.x реализовала нулевую зависимость. Учитывая недавние атаки на поставки в версиях 1.95.5 и 1.95.6, уменьшение внешних зависимостей безусловно усиливает безопасность библиотеки. Команда разработчиков решила больше полагаться на родные функции, отменив введение внешних зависимостей и Polyfills.

Важные изменения

соединение

Версия 2.x использует более функциональный подход для обработки соединений. Новая версия создает отправитель запросов, настраивая адрес RPC-запроса, а затем использует этого отправителя для инициирования различных запросов.

пара ключей

Обработка, связанная с открытым и закрытым ключами, также претерпела значительные изменения. Классы Keypair и PublicKey, часто используемые в версии 1.x, были заменены на ряд функций. Например, теперь можно использовать асинхронную функцию generateKeyPair() для генерации ключевой пары. Это изменение связано с тем, что новая версия больше использует Web Crypto API JavaScript, принимая родную реализацию Ed25519.

Отправить транзакцию

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

Новая версия предлагает распространённую в функциональном программировании форму pipe, что делает процесс инициирования и подтверждения транзакций более гибким и настраиваемым.

React поддержка

Стоит отметить, что проект @solana/web3.js теперь включает библиотеку под названием @solana/react, которая предоставляет некоторые хуки React и имеет встроенные функции, такие как signIn.

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

Резюме

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

SOL-2.84%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Поделиться
комментарий
0/400
SellTheBouncevip
· 07-08 14:55
Технологии не так важны, как человечность. Убытки — это судьба.
Посмотреть ОригиналОтветить0
just_another_fishvip
· 07-07 22:21
Код написан неплохо, войти в позицию и списать домашнее задание
Посмотреть ОригиналОтветить0
AllInDaddyvip
· 07-06 22:49
Наконец-то вышла новая версия! покупайте падения готовьтесь к скупке!
Посмотреть ОригиналОтветить0
MEV_Whisperervip
· 07-06 22:45
Solana действительно классная, скорость просто невероятная.
Посмотреть ОригиналОтветить0
BlockchainTherapistvip
· 07-06 22:42
Поторопись купить большой пакет на sol
Посмотреть ОригиналОтветить0
AirdropHarvestervip
· 07-06 22:34
Солана снова замутила что-то.
Посмотреть ОригиналОтветить0
  • Закрепить