MetaMask Snaps 是将 MetaMask 打造成全球最具扩展性钱包的发展路线图。作为开发者,您可以通过全新方式将自己的功能和 API 引入 MetaMask。Web3 开发者是这一增长的核心,本系列旨在展示当今正在构建的创新 MetaMask Snaps。
Snapshot Snap 与 Minci
我们与独立 Web3 开发者 Minci 进行了交流,他在 ETHWarsaw 黑客马拉松上构建了 Snapshot Snap——这是一款用于为链上活动设置自定义通知的概念验证应用。
Snapshot:演示视频
Snap 代码库:https://github.com/iamminci/snapshot
您为什么要构建它?
我对钱包链上事件通知这一想法深感着迷。在 web2 中,PayPal 和 Venmo 等平台随处可见这类功能,但索引机制使其在 web3 中成为一项极具挑战性的功能,这是一个值得深入思考的有趣技术问题。我想尝试创建一个概念验证应用,让任何用户都能为链上活动设置自己的自定义通知。我使用了 MetaMask Snaps 的通知实现来构建我的原型。
能否带我们了解一下技术实现过程?
技术实现首先需要通过客户端应用触发安装来设置通知 snap。然后,用户配置 snap 以监听其偏好的链上事件。这里的愿景是,用户能够将任意合约地址及其关联事件加入白名单,从而不仅触发通知,还能触发自动化链上操作,例如根据触发条件发送交易或执行 DEX 交易。自动发送功能通过从 BIP44 地址密钥派生器中派生用户私钥来实现(感谢 Olaf 使用该库进行的工作坊分享),使操作无需用户明确确认即可执行。我的概念验证仅限于在 Opensea 上出价的示例,并通过 Rinkeby 测试网上的 Opensea API 实现。
如果您要实现这一功能,下一步是什么?
演示视频基于一个概念验证,仅适用于少数预配置的使用场景(在 Opensea 上出价、自动发送以太币)。实现这一愿景的下一步,是配置某种存储方式,以便能够动态更新 snap 监听的事件,而无需重新安装通知 snap。此外,为用户提供一个仪表板以监控其现有 snap,并在单一视图中可视化已触发的事件,也将非常实用。另外,提供更丰富的自动触发操作范围,不仅限于发送,还支持更复杂的合约调用,例如设置限价单或套利操作。
您是什么时候第一次接触到 MetaMask Snaps 的,体验如何?
我第一次接触 MetaMask Snaps 是在迈阿密 Permissionless 大会上参观 MetaMask 展台时。这有可能成为 MetaMask 插件生态系统的想法让我非常兴奋。
MetaMask Snaps 与其他钱包有何不同?
没有其他钱包拥有专为开发者量身定制的可自定义插件。我认为这在整个生态系统中是 MetaMask 独有的。
请告诉我们您和您的团队使用 MetaMask Snaps 进行构建的体验。
坦率地说,使用 MetaMask Snaps 进行构建并非一帆风顺。我认为文档不够完善是最大的不足之处。好在有足够多的有趣示例,让我能够从这些基础构建块中衍生出自己的创新,因此我强烈建议任何有兴趣使用 snaps 进行构建的开发者直接深入示例代码库。
MetaMask Snaps 对您意味着什么?
MetaMask Snaps 是 web3 显而易见的未来。
您认为 MetaMask Snaps 为 Web3 领域带来了哪些机遇和可能性?
MetaMask Snaps 可以为 web3 开启无限可能的世界。就像 Chrome 凭借扩展生态系统成为首选浏览器,VSCode 同样凭借其扩展市场脱颖而出。我完全可以想象 MetaMask Snaps 通过允许开发者接入工具链、大胆创新并按自己的喜好定制钱包(进而吸引觉得这些工具有用的用户),将 MetaMask 带到一个全新的高度。围绕提供最具吸引力 MetaMask Snaps 的开发者,还将形成有趣的代币经济模型。
您对有意尝试 MetaMask Snaps 的开发者有什么建议?
我建议任何对 MetaMask Snaps 感兴趣的人直接深入示例代码库,fork 它,然后尽情探索!
使用 MetaMask Snaps 进行构建
开始使用 MetaMask Snaps:
查阅开发者文档
安装 MetaMask Flask
查看 MetaMask Snaps 指南
通过 Twitter、GitHub 讨论区和 Discord 与我们保持联系
请关注我们团队在您附近举办的下一场黑客马拉松!Happy buidling ⚒️
免责声明:MetaMask Snaps 通常由 Consensys Software 以外的第三方开发。使用第三方开发的 MetaMask Snaps 须由您自行决定并承担风险,且您同意对因此类活动造成的任何损失或损害承担全部责任。Consensys 对第三方开发的 MetaMask Snaps 不作任何明示或暗示的保证,并对第三方开发的 MetaMask Snaps 免除一切责任。使用区块链相关软件存在风险,使用 MetaMask Snaps 即表示您完全接受这些风险。