什么是 MetaMask Snap,它们如何工作?

MetaMask Snaps:如何改变你的 Web3 体验?

2023年9月12日,ConsenSys Software Inc. 正式发布了 MetaMask Snaps,这是一个旨在帮助 MetaMask 用户和开发者定制和提升其 Web3 体验的全新功能。那么,MetaMask Snaps 究竟是什么?它是如何工作的呢?

正如 MetaMask 联合创始人丹·芬利 (Dan Finlay) 所言,MetaMask Snaps 的推出标志着“钱包内新系统的诞生”,它允许用户与各种区块链上的去中心化应用程序(DApps)进行互动。

这意味着,现在你可以将独立开发者设计的各种工具和功能(称为 Snaps)导入到你的 MetaMask 加密货币钱包中,而不必仅仅依赖 MetaMask 团队所开发和提供的功能。

举例来说,假设你除了使用 MetaMask 钱包之外,还想使用 Wallet Guard。 你可以通过 Wallet Guard Snap 连接你的 MetaMask 钱包,并在 MetaMask 的界面中方便地接收交易信息和安全警报,而无需安装 Wallet Guard 浏览器扩展程序或应用程序。

从本质上讲,MetaMask Snaps 充当了 MetaMask 钱包与其他区块链上的 DApp 之间的桥梁。 这些桥梁,或者更准确地说,框架,允许独立开发者创建和集成插件,从而扩展 MetaMask 的功能,并为用户提供更多的选择和灵活性。

通过 MetaMask Snaps,你可以访问更多的区块链、DApp、代币、交易安全提供商、通知系统,甚至全新的用户界面。

MetaMask Snaps 使用一种名为 Secure EcmaScript (SES) 的 JavaScript 引擎,该引擎在沙箱环境中运行 Snaps。 因此,Snaps 不会影响其他程序,特别是 MetaMask 的核心功能; 它们的功能仅限于其提供的特定功能,以及你在安装时授予的权限。

Snaps 通过预定义的应用程序编程接口 (API)(即钱包 API)与 MetaMask 进行通信,该接口公开必要的功能和数据。 同时,它们使用 HTTPS 请求和其他通信协议与外部区块链网络进行通信。

由于 MetaMask Snaps 是一个开源框架,任何人都可以创建新的 Snap 并将其安装到 MetaMask 上。 要构建 Snap,你需要安装
MetaMask 烧瓶,你可以在其中构建和测试 Snaps,然后再将它们添加到稳定的 MetaMask 扩展程序中。

创建 Snap 后,MetaMask 可能会对其进行审核,并将其列在
MetaMask 快照目录中。 截至2023年9月,该目录中已列出超过30个 Snaps。 最终,MetaMask 计划扩展审核流程,允许外部人员审核和列出 Snaps。

即使你不创建 Snaps,你也可以从目录中选择任何可用的 Snaps 进行安装。 与插件类似,MetaMask Snaps 必须安装并可以选择启用或禁用。 安装 MetaMask Snap 的步骤如下:

  1. 安装 MetaMask 浏览器扩展程序 v11.0 并创建钱包或导入现有钱包; 目前,MetaMask Snap 仅在浏览器扩展程序中可用。
  2. 前往 MetaMask 快照目录。
  3. 选择你喜欢的 Snap,然后点击“添加到 MetaMask”。
  4. 阅读第三方安装通知并接受条款。
  5. 点击“连接”将 Snap 与 MetaMask 连接。
  6. 在安装页面上,向 Snap 授予权限(请务必仔细阅读),然后点击“安装”。

就这么简单!

无论是开发者还是普通投资者,都可以从使用 MetaMask Snaps 中获得极大的便利。

1. 与非 EVM 区块链的互操作性

过去,MetaMask 仅支持以太坊和以太坊虚拟机 (EVM) 兼容的网络。 现在,借助 MetaMask Snaps,你可以连接非 EVM 兼容的网络,例如比特币和 Solana,这些网络以前是 MetaMask 无法访问的。

例如,Zion Snap 允许你直接在 MetaMask 钱包中管理你的比特币,而无需包装你的代币。 Solana Snap 也是如此。 只要有相应的 Snap,你就可以从 MetaMask 钱包连接和访问尽可能多的区块链网络(无论是 EVM 还是非 EVM)。

2. 新的通知功能

除了互操作性之外,你还可以在 MetaMask 钱包中接收即时通知。 Snaps 利用钱包 API,集成来自连接的 DApp 或区块链协议的实时通知。

你可以在 MetaMask 界面中接收即时更新、价格提醒、访问图表或消息。

3. 交易分析与洞察

有些 Snaps 会在提交交易之前对其进行分析,以确保你的资金安全。 这可以通过评估接收(合约)地址来确定其是否安全或恶意,通知你潜在的网络钓鱼攻击,或预测交易的失败或成功。

你可以通过在安装期间授予的权限来确定 Snap 是否提供交易分析和洞察工具。 例如,如果你授予 Snap “获取并显示交易洞察”的权限,你就会知道它使用交易洞察功能。

4. 核心钱包功能增强

借助 MetaMask Snaps,你可以访问其他功能,例如隐私保护,以及直接在 MetaMask 钱包中发送和接收消息的能力。

你可以根据需要安装任意数量的功能来自定义和改进你的钱包。

此外,开发者可以无缝地创建和分发 Snaps。 最终,他们将能够在不需要 MetaMask 批准的情况下做到这一点。 这将有助于扩展 MetaMask 钱包的功能。

目前已经有多个 MetaMask Snaps 可供你安装和使用。

1. Solflare 钱包

Solflare Wallet Snap 支持 MetaMask 和 Solana(非 EVM 网络)之间的互操作性。 与以前不同,你现在可以将 MetaMask 钱包连接到 Solana,存储你的代币,访问应用程序并管理你的账户。

2. Push V1

Push Snap 可以让你从 MetaMask 钱包内订阅的频道接收即时通知。 你只需安装 Snap,订阅你喜爱的频道并连接你的钱包地址,就可以接收所有相关 Web3 事件的应用内通知。

3. Blockfence

使用 Blockfence Snap,你可以在提交交易之前对其进行评估。 你还可以评估你使用的 DApp、你与之交互的智能合约、你持有的代币等等。

MetaMask Snaps 为加密货币参与者提供了一种简单的方法,让他们可以使用一个钱包跨各种区块链网络访问 DApp 和去中心化金融。 同样,开发者也可以轻松创建和分发 Snaps。

MetaMask Snaps 可能会改变加密货币行业完全去中心化系统梦想的游戏规则。