跳到内容

MetaMask Snaps 两项激动人心的更新

MetaMask Snaps 迎来两项重要更新,包括降低审计要求以及为 dapp 提供无缝自动连接功能

3 分钟阅读
MetaMask Snaps 两项激动人心的更新

自 2023 年 9 月 MetaMask Snaps 公开测试版上线以来,我们致力于通过赋能独立开发者构建 MetaMask 的各项功能,充分释放 Web3 领域的创造力,从而实现创新的普惠化。上线 9 个月以来,已有 55 个由第三方开发者开发的 Snap 收录于我们的官方目录,所有 Snap 的累计安装量已超过 90 万次。

在持续探索如何让开发者更顺畅地构建 Snap 并扩展 MetaMask 功能的过程中,我们确定了 2 个重点方向,并推出了若干重要更新,本文将对此进行详细介绍。

1. 降低 Snaps 目录白名单的审计要求

发布第三方 Snap 现在变得更加简便。此前,开发者在将任何 Snap 提交至白名单以纳入 Snaps 注册表之前,必须完成安全审计。即日起,我们放宽了这一规定——不涉及密钥管理(entropy API)的 Snap,无需经过安全审计即可提交至白名单并通过我们的渠道分发。

需要特别说明的是,涉及密钥管理的 Snap 仍须通过第三方安全审计。密钥管理或 entropy API 是指代表用户管理区块链账户的相关 API,包括 snap_getBip32Entropy、snap_getBip44Entropy 和 snap_getEntropy。如果您使用了上述 API,并希望了解如何为 Snap 准备第三方安全审计,请参阅这篇博客:MSQ Snap 与 Consensys Diligence 的 5 条安全审计建议。

目前,白名单申请仍为人工审核流程。我们会在 Snap 提交白名单申请时核查其是否需要审计,若无需审计,则直接将其提交至注册表。所有 Snap 均须获得 Snaps 团队的两次审批方可通过。

此外,部分第三方 Snap 现在无需加入白名单,任何人均可直接安装。仅依赖以下列表中"开放"权限的 Snap,无需加入白名单即可安装:

  • 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

即便不强制要求,我们仍鼓励开发者为其 Snap 申请第三方安全审计。此外,Snap 若要显示在 Snaps 目录中,仍须加入白名单。

2. 为指定 dapp 提供无缝自动连接功能

开发者现在可以为其 Snap 指定一批享有自动连接权限的 dapp。这意味着,当特定 dapp 调用 wallet_requestSnaps 时,用户无需手动确认连接,dapp 也可以无缝检测 Snap 是否已安装。这对被多个 dapp 使用的 Snap 尤为实用,可实现以下用户体验流程:

  • 您构建了一个供一个或多个 dapp 使用的 Snap,并通过在 initialConnections 配置项中列出伴侣 dapp,授权其与您的 Snap 自动建立连接。

  • 用户在使用某个集成了您的 Snap 的 dapp 时完成安装。

  • 用户访问您的 Snap 伴侣 dapp。

  • 伴侣 dapp 可立即识别该 Snap 已安装。

  • 用户无需手动连接 Snap,即可直接与伴侣 dapp 交互。

  • 此功能可进一步扩展至您信任的、已集成您的 Snap 的其他 dapp。

Linea Voyager Snap 目前已使用此功能。您可以从 Snaps 目录安装 Linea Voyager Snap,然后访问 Linea Voyager 伴侣 dapp,亲身体验无缝连接效果。与大多数伴侣 dapp 不同,该 dapp 会自动连接至 Snap,无需您事先安装或从 dapp 手动连接。如需了解此功能的详细使用方法,请参阅 Snaps 文档。

继续使用 MetaMask Snaps 构建

在持续推进 Web3 钱包无许可未来的进程中,我们始终致力于优化用户体验,以上两项新更新正是我们规划中的部分成果。

如果您目前正在使用 Snaps 进行开发,欢迎留下您的反馈,这将帮助我们打造更好的未来钱包。如果您是有意构建 Snap 的开发者,可以从阅读 Snaps 文档开始,项目完成后欢迎与我们分享。

AI 翻译。可能包含错误。请务必核实信息。

评价此翻译

本文作者:

  • Kingsley Okonkwo

    Kingsley 是一位经认证的以太坊区块链开发者,现任 Consensys 技术写作工程师,专注于开发者工具领域。加入 Consensys 之前,Kingsley 曾在 Gigster 和 Braintrust 等多个平台担任自由职业后端开发者。他拥有 5 年软件开发经验,熟练掌握 JavaScript(Node.js 和 React)、GoLang、SQL 及 Docker 等技术工具。Kingsley 擅长撰写分步教程和操作指南,善用最新 Web3 技术帮助开发者构建更优质的 dapp。他目前定居迪拜,业余时间喜欢打篮球和踢足球。

    阅读所有文章