MetaMask Snaps探秘:Web3生态的小程序之路

robot
摘要生成中

MetaMask Snaps: Web3世界的"小程序"

MetaMask Snaps是一个具有远大理想的项目。抛开其"理想"的外衣,我们可以将其视为Web3世界的"小程序",或者更形象地称之为"dApplet"。

对于开发者,尤其是中国的开发者来说,这个概念并不陌生。近年来,"生态打造"和"超级App"等互联网术语频繁出现,大型企业试图将互联网环境变得更加封闭,以便从服务提供者转变为标准制定者。现在,这种趋势似乎也开始向Web3领域蔓延。

Web3 小程序?MetaMask Snaps 解读

截至2024年6月,尽管Snaps已经存在将近一年,其概念更是至少提出了4年,但普通用户对它的了解仍然十分有限。即便是那些每天都使用MetaMask的加密货币爱好者,也可能对MetaMask Snaps一无所知。然而,当向他们解释"就像小程序那样"时,他们的脸上往往会露出会心的微笑。

这种情况让人不禁想起微信小程序刚推出时的境况。由于功能入口不明显,初期使用量很低。只有在将入口改到首页下拉位置后,使用量才开始大幅增长。对MetaMask来说,如何吸引用户进入其生态系统可能会成为一个亟待解决的重要问题。

小程序自诞生以来就在互联网行业引发争议。许多前端工程师对它持批评态度,认为它仅仅是大公司为垄断流量、封锁生态而创造的商业工具,对技术发展贡献有限。Web3的Snaps能为社区带来多少价值呢?浏览MetaMask的文档后,不难想象未来的Snap开发者可能会面临诸多限制和挑战。

自MetaMask启动Snaps公共测试版以来已近一年,但其官网列出的可用Snaps数量并不多,截至2024年6月仅有68个。值得注意的是,早在2020年左右,官方就已提出Snaps的概念,Web3公司和开发人员其实已有相当长的时间来了解它。

目前还未见到专职开发Snaps的开发人员,但Web2领域的小程序开发者对小程序的普遍看法是开发体验较差。小程序虽然使用前端生态,但往往是阉割版的,各种限制使得开发者需要在不同平台踩过各种坑后才能积累经验。

在Web3领域,出于安全等因素考虑,Snaps可能面临类似的情况。它在隔离的安全上下文中运行,使用"安全ECMAScript",实际上对JavaScript API做了一些限制,如无法访问DOM、Node.js和浏览器插件API等。

基于安全考虑,一个基本的Snaps功能有限。大多数功能都需要先获得相应权限,因此Snaps在安装时需要向用户申请权限。可用权限包括生命周期、交易、签名和CRON等。

Web3 小程序?MetaMask Snaps 解读

相比繁荣的Web3生态,目前可用的Snaps数量较少。MetaMask将它们分为几类:

  1. 账户管理:主要通过MPC技术提高私钥安全性。目前只有3个此类Snaps:Capsule、Silent Shard和Safeheron。

  2. 互操作性:提供对非EVM网络的兼容,包括Solana、Cosmos、Near、Sui等。这类Snaps占据了生态的一半以上。

  3. 通信:包括通知和聊天功能。虽然目前使用链进行通信的用户较少,但这类Snaps仍有发展潜力。

  4. 安全:这类需求较大,特别是在钓鱼交易警告方面。通过Snaps提供的交易洞察功能,开发者可以向用户展示更丰富的交易信息,提供分析和见解,最大限度避免资产损失。

MetaMask Snaps提供了"endowment:transaction-insight"和"endowment:signature-insight"权限,允许Snap在用户发起交易或签名时读取原始数据,进行分析,并向用户显示更多安全性说明。

Web3 小程序?MetaMask Snaps 解读

MetaMask希望通过Snaps将业务扩展到其他链平台,但其最终成效还有待观察。参考Web2领域的小程序经验,简陋的小程序服务往往无法与App相媲美,新功能跟进也常常滞后。如果Snaps发展良好,可能会有更多钱包效仿,这可能导致开发者需要为各个钱包的"Snaps"开发不同版本,增加工作负担。

未来可能会出现各种"Snaps-like"平台,平台差异巨大,开发者需要花费大量精力进行兼容。当这种情况变得不可忍受时,可能会催生出"Snaps Standard",同时出现各种"SIP"供讨论,形成一个繁荣的社区生态。

对于MetaMask的大多数用户来说,Snaps目前可能还不是一个必需功能。MetaMask在如何更有效地推广方面可能需要做更多工作。

Web3 小程序?MetaMask Snaps 解读

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论