金色观察|MetaMask Flask:web3开发者需要的试验场
MetaMask 目前是加密货币领域用户最多的钱包,也是web3世界最集中的入口,但如果MetaMask只拥有钱包的功能,远不能满足web3世界里各个网络的需求。
所以MetaMask需要找到进行扩展开发的方法,就出现了MetaMask Flask。
对于MetaMask来说,MetaMask Flask是一片崭新的试验场,会聚集Wallet最前沿最新鲜的功能。准确的形容词是MetaMask Flask作为MetaMask的先行版,Flask可以为开发者与实验性功能提供空间,点亮Web3的未来。
任何涉及实际价值管理与转移的应用都需要确保用户资产安全,这离不开安全的UX和稳定的功能。MetaMask选择先在Flask发布新功能,移除部分常规限制措施,让功能经过快速迭代再与广大用户见面。
MetaMask Flask可以免费使用。不过目前仅作为 Chrome 和 Firefox 的浏览器扩展提供。
需要注意的是,Flask 不提供与MetaMask 应用程序相同的 API 或 UX 稳定性保证,Flask的目标受众是开发者。参与风险由用户自行承担,官方不提供监督指导。
MetaMask的开放和定制精神将通过 MetaMask Flask进入了一个新阶段,这是开发人员的实验性游乐场,可以在将新功能或提议的功能部署到更广泛的公众之前推出和测试。
Snaps是通过Flask上线的第一个功能。
有了Snaps,开发者可以在运行状态下拓展MetaMask的功能,无需MetaMask团队参与。 也就是说,开发者可以独立向其用户推出自行设计的功能。
MetaMask作为首个为用户提供扩展性的Wallet。Snaps的作用不会仅限于 Ethereum ,而是旨在提升Web3生态的整体创新速度,虽然早期版本的Snaps只允许对MetaMask UI做部分调整,但已实现最重要的一大功能,可以用snap管理不同协议的用户秘钥。
如果协议有SLIP-44 ID,JavaScript签名库和公开可用的节点,开发人员可在MetaMask中增加对协议的支持。
Snaps的开发者资源仅受限于Snaps API,早期由MetaMask团队迭代API,满足开发者需求。
但在社区作用下,Protocol Labs与Chainsafe合作为MetaMask Flask开发了Filecoin snap。主要目的是为Filecoin生态开发者使用更方便,安装后,snap将为Wallet接入Filecoin集成并附加前端。用户可浏览Fil账户、查看余额、发送交易以及使用Fil秘钥创建加密签名消息。对用户来说,与Fil协议交互变得更加便利,可由MetaMask浏览器集成直接实现。
也因此MetaMask目前不再开发Snaps。
本质上,MetaMask Snaps包含两部分:
1.MetaMask安全执行第三方MetaMask Snaps代码的方法。
2.网站和 MetaMask的API,用于和单个Snaps通信。
通信经由JSON-RPC请求与响应。通过这种方式,Snaps可以扩展JSON-RPC API,在运行时改变MetaMask应用表现。未来,MetaMask可利用这一点实现对不同区块链、其他去中心化协议、新型加密方式、新型加密资产以及无数新功能的支持。
在Flask环境中,MetaMask致力于为所有用户实现稳定、易于维护、安全的功能及API。所有开发者都可以创建Snaps,Snaps 允许开发者构建自己的 API 并将其插入 MetaMask。让Web3开发者充分发掘MetaMask产品潜力,打造新型dapp。
今后,用户也可以自由选择需要的Snaps加入Wallet。您不再需要依赖 MetaMask 来推出功能和更新。
官方提示,如果不是开发人员,建议只使用MetaMask 应用程序,不要使用 MetaMask Flask。如果是 web3 dapp 开发人员并且喜欢冒险,那么 MetaMask Flask 很适合。
由于其实验性质,MetaMask Flask的 API 不稳定,在一个版本中工作的东西可能会在下一个版本中永久损坏。