Существенное обновление версии 2.x Solana Web3.js: модульный дизайн повышает производительность и безопасность

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

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

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

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

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

Сравнить версии

Более старые версии были более простыми в использовании, со всеми функциями в пакете @solana/web3.js и дизайном на основе классов, который инкапсулировал большое количество часто используемых операций. Однако такой дизайн также сопряжен с некоторыми проблемами, такими как загрузка всей библиотеки на устройство пользователя, даже если используется лишь небольшая часть функционала.

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

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

Еще одной важной особенностью версии 2.x является отсутствие зависимостей. Эта функция может мало повлиять на обычных пользователей, но с точки зрения безопасности она крайне важна. Команда разработчиков решила чаще использовать встроенные функции, отменив внешние зависимости и внедрение Polyfills, чтобы уменьшить риски безопасности.

Основные изменения

Обработка соединений

В новой версии реализовано более функциональное подключение. Например, при отправке транзакции автоматически инициируется HTTPS запрос и устанавливается WSS соединение, подписывается статус транзакции, а после подтверждения транзакции возвращается хэш транзакции.

Управление парой ключей

Существенно изменились функции, связанные с публичными и приватными ключами. Классы Keypair и PublicKey, которые обычно использовались в версии 1.x, больше не существуют и были заменены некоторыми функциями. Например, вы можете использовать await generateKeyPair() для создания пары ключей вместо предыдущей Keypair.generate().

Новое решение использует Web Crypto API JavaScript по максимуму, применяя родную реализацию Ed25519. Это привело к тому, что некоторые методы стали асинхронными, но для разработчиков, знакомых с Promise, это не является большой проблемой.

Отправка сделки

В версии 2.x больше нет классов Transaction и VersionedTransaction. Методы, связанные с System Program, также больше не существуют и должны быть импортированы из других модулей.

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

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

Поддержка ### React

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

Резюме

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

SOL-3.48%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 9
  • Поделиться
комментарий
0/400
ProbablyNothingvip
· 07-19 15:36
sol наконец-то раскрутился
Посмотреть ОригиналОтветить0
GweiWatchervip
· 07-18 09:24
Связь — это король!
Посмотреть ОригиналОтветить0
MoonBoi42vip
· 07-18 08:31
Передний ряд ест арбузы бычий sol
Посмотреть ОригиналОтветить0
CryptoMotivatorvip
· 07-17 01:02
Наконец-то дождались этого обновления!
Посмотреть ОригиналОтветить0
Anon32942vip
· 07-17 01:01
Наконец-то оптимизировали, похоже, раньше было действительно плохо.
Посмотреть ОригиналОтветить0
FUD_Whisperervip
· 07-17 00:54
Солана все еще в порядке?
Посмотреть ОригиналОтветить0
JustHereForMemesvip
· 07-17 00:53
React наконец-то заработал, хороший парень
Посмотреть ОригиналОтветить0
SatoshiNotNakamotovip
· 07-17 00:39
666啊 Sol снова в деле
Посмотреть ОригиналОтветить0
OnchainGossipervip
· 07-17 00:33
Пирог с говядиной Солана !!
Посмотреть ОригиналОтветить0
Подробнее
  • Закрепить