MetaMask Snapsは、MetaMaskを世界で最も拡張性の高いウォレットにするためのロードマップです。開発者として、まったく新しい方法でMetaMaskに機能やAPIを追加することができます。Web3開発者はこの成長の中核を担っており、本シリーズでは現在開発中の革新的なMetaMask Snapsを紹介することを目的としています。
MinciによるSnapshot Snap
ETHWarsawハッカソンでSnapshot Snapを開発した独立系Web3開発者のMinciに、オンチェーンアクティビティのカスタム通知を設定するための概念実証アプリケーションについてお話を伺いました。
Snapshot:デモ動画
Snapリポジトリ:https://github.com/iamminci/snapshot
なぜ開発しようと思ったのですか?
オンチェーンイベントに対するウォレット通知というアイデアに強く惹かれています。PayPalやVenmoなどのweb2では当たり前の機能ですが、インデックス処理によってweb3では実装が難しくなるという点が、技術的に興味深い問題だと感じています。ユーザーが自分でオンチェーンアクティビティのカスタム通知を設定できる概念実証アプリケーションを作ってみたいと思いました。プロトタイプの構築には、MetaMask Snapsの通知実装を活用しました。
技術的な実装について教えてください。
技術的な実装では、まずクライアントサイドアプリケーションからインストールをトリガーして通知Snapをセットアップしました。次に、ユーザーが好みのオンチェーンイベントを監視するようSnapを設定します。このビジョンでは、ユーザーが任意のコントラクトアドレスとその関連イベントをホワイトリストに登録できるようにし、通知だけでなく、トリガーに基づいてトランザクションの送信やDEXトレードの実行といったオンチェーンアクションの自動化も可能にすることを想定していました。自動送信は、BIP44 Address Key Deriverからユーザーの秘密鍵を導出することで実現しました(このライブラリを使ったワークショップを開催してくれたOlafに感謝します)。これにより、ユーザーの明示的な確認なしにアクションが実行されます。概念実証はOpenseaでの入札を例に限定し、RinkebyテストネットのOpensea APIを使って実現しました。
今後このアイデアを実装するとしたら、次のステップは何ですか?
デモ動画は、あらかじめ設定された少数のユースケース(Openseaでの入札、etherの自動送信)にのみ対応した概念実証に基づいていました。このビジョンを実現するための次のステップとしては、通知Snapを再インストールすることなく、Snapが監視するイベントを動的に更新できるようなストレージの設定が挙げられます。また、ユーザーが既存のSnapを管理し、トリガーされたイベントを一画面で確認できるダッシュボードの提供も有用でしょう。さらに、単純な送信にとどまらず、指値注文の設定やアービトラージといった複雑なコントラクト呼び出しを含む、より幅広い自動トリガーアクションの提供も重要です。
MetaMask Snapsを最初に知ったのはいつで、どのような体験でしたか?
マイアミのPermissionlessカンファレンスでMetaMaskのブースを訪れたときに、初めてMetaMask Snapsを知りました。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に興味のある方には、ぜひサンプルリポジトリに直接飛び込んで、フォークして、いろいろ試してみることをおすすめします!
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を使用する際にはそのリスクをすべてご自身で負うものとします。