Перейти к содержимому

Два важных обновления MetaMask Snaps

Два важных обновления MetaMask Snaps: сниженные требования к аудиту и автоматическое подключение к dapps

3 мин чтения
Два важных обновления MetaMask Snaps

С момента запуска открытой бета-версии MetaMask Snaps в сентябре 2023 года мы поставили перед собой цель — демократизировать инновации, предоставив независимым разработчикам возможность создавать функции и расширять возможности MetaMask, раскрывая весь потенциал изобретательности в нашем web3-пространстве. За 9 месяцев с момента запуска сторонние разработчики создали 55 Snaps, размещённых в нашем официальном каталоге, а суммарное количество установок всех Snaps превысило 900 тысяч.

Продолжая искать способы сделать разработку Snaps и расширение возможностей MetaMask более удобными для разработчиков, мы определили 2 ключевых направления и выпустили ряд важных обновлений, о которых подробнее расскажем в этой публикации.

1. Упрощённые требования к аудиту для включения в список разрешённых Snaps

Публикация стороннего Snap стала проще. Раньше разработчикам требовалось пройти аудит перед отправкой любого Snap в allowlist для включения в реестр Snaps. Теперь мы смягчаем это требование: Snaps, не использующие управление ключами (entropy API), можно добавлять в allowlist и распространять через наш канал без прохождения проверки безопасности.

Важно отметить, что для Snaps, использующих управление ключами, мы по-прежнему требуем проведения стороннего аудита безопасности. API управления ключами или entropy API — это API, используемые для управления блокчейн-аккаунтами от имени пользователя. К таким API относятся snap_getBip32Entropy, snap_getBip44Entropy и snap_getEntropy. Если вы используете эти API и хотите узнать, как подготовить свой Snap к стороннему аудиту безопасности, ознакомьтесь с публикацией 5 советов по аудиту безопасности от MSQ Snap и Consensys Diligence.

На сегодняшний день добавление в allowlist по-прежнему осуществляется вручную. При подаче заявки на включение в allowlist мы проверяем, требует ли Snap аудита, и если нет — приступаем к добавлению его в реестр. Для включения в allowlist каждый Snap должен получить одобрение от двух участников команды Snaps.

Кроме того, теперь определённое подмножество сторонних Snaps может быть установлено любым пользователем без включения в наш allowlist — без каких-либо ограничений. Snaps, использующие только «открытые» разрешения из приведённого ниже списка, не требуют включения в allowlist перед установкой:

  • endowment:cronjob

  • endowment:ethereum-provider

  • endowment:lifecycle-hooks

  • endowment:page-home

  • endowment:signature-insight

  • endowment:transaction-insight

  • snap_dialog

  • snap_getLocale

  • snap_manageState

  • Snap_notify

Мы по-прежнему рекомендуем разработчикам проводить сторонний аудит безопасности своих Snaps, даже если это не является обязательным условием для включения в allowlist. Также обратите внимание: для отображения в каталоге Snaps включение в allowlist по-прежнему обязательно.

2. Бесшовное автоматическое подключение для выбранных dapps

Теперь разработчики могут указать список dapps с привилегиями автоматического подключения к своему Snap. Это означает, что для конкретных dapps при вызове wallet_requestSnaps пользователям больше не нужно вручную подтверждать подключение, а dapp может беспрепятственно проверить, установлен ли Snap. Это особенно удобно для Snaps, используемых несколькими dapps, поскольку обеспечивает следующий UX-сценарий:

  • Вы создаёте Snap для использования одним или несколькими dapps и разрешаете автоматическое подключение к companion dapp вашего Snap, добавив его в параметр конфигурации initialConnections.

  • Пользователь устанавливает ваш Snap при взаимодействии с dapp, который его использует.

  • Пользователь переходит на companion dapp вашего Snap.

  • Ваш companion dapp может сразу определить, что Snap уже установлен.

  • Пользователь может взаимодействовать с companion dapp без ручного подключения к Snap.

  • Это можно распространить на любые доверенные dapps по вашему выбору, интегрирующие ваш Snap.

Linea Voyager Snap уже использует эту функцию. Вы можете убедиться в бесшовности подключения, установив Linea Voyager Snap из каталога Snaps и посетив companion dapp Linea Voyager. В отличие от большинства companion dapps, этот автоматически подключается к Snap, даже если вы не устанавливали его и не подключали вручную через dapp. Подробную информацию об использовании этой функции см. в документации Snaps.

Продолжайте создавать с MetaMask Snaps

Пока мы строим безразрешительное будущее для web3-кошельков, мы постоянно работаем над улучшением пользовательского опыта — и эти два обновления лишь часть того, что у нас в планах.

Если вы уже разрабатываете с использованием Snaps, нам важно знать ваше мнение — оставьте отзыв, это помогает нам создавать лучший кошелёк для будущего. Если вы разработчик и хотите создать Snap, начните с изучения документации Snaps, а когда проект будет готов — поделитесь им с нами.

Переведено ИИ. Может содержать ошибки. Пожалуйста, всегда проверяйте информацию.

Оцените перевод

Автор статьи:

  • Kingsley Okonkwo

    Кингсли — сертифицированный разработчик блокчейна Ethereum, работающий техническим писателем в Consensys с особым акцентом на инструменты для разработчиков. До прихода в Consensys Кингсли работал фриланс-разработчиком бэкенда на нескольких платформах, включая Gigster и Braintrust. Имея за плечами 5 лет опыта в разработке программного обеспечения, он уверенно владеет такими инструментами, как JavaScript (Node.js и React), GoLang, SQL и Docker. Кингсли мастерски создаёт пошаговые руководства и практические гайды, используя новейшие технологии web3, чтобы помочь коллегам-разработчикам создавать более качественные dapps. В настоящее время проживая в Дубае, Кингсли в свободное время увлекается баскетболом и футболом.

    Читать все статьи