2023年9月のMetaMask Snapsオープンベータ版ローンチ以来、私たちは独立した開発者がMetaMaskの機能を構築できるようにすることで、web3空間における革新の民主化を目指してきました。ローンチから9ヶ月で、サードパーティ開発者によって55のSnapsが開発され、公式ディレクトリに掲載され、全Snaps合計で90万回以上インストールされました。
開発者がSnapsを構築し、MetaMaskを拡張する体験をよりシームレスにするための取り組みを続ける中で、2つの重要な領域を特定し、いくつかの重要な新しいアップデートをリリースしました。このブログ記事でさらに詳しく説明します。
1. Snapsディレクトリへのallow-listingに必要な監査要件の緩和
サードパーティSnapの公開がよりシンプルになりました。これまで、開発者はSnapsレジストリに含めるためのallowlistにSnapを申請する前に、監査を完了する必要がありました。本日より、鍵管理(entropy API)を行わないSnapsは、セキュリティ監査なしでallowlistに申請し、私たちのチャンネルを通じて配布できるようになりました。
鍵管理を行うSnapsについては、引き続きサードパーティのセキュリティ監査が必要であることにご注意ください。鍵管理またはentropy APIとは、ユーザーに代わってブロックチェーンアカウントを管理するために使用されるAPIです。該当するAPIにはsnap_getBip32Entropy、snap_getBip44Entropy、snap_getEntropyが含まれます。これらのAPIを使用しており、サードパーティのセキュリティ監査に向けてSnapを準備する方法を知りたい場合は、MSQ Snapとconsensysダイリジェンスによるセキュリティ監査の5つのヒントのブログをご覧ください。
現時点では、allow-listingは依然として手動プロセスです。allowlistへの申請時にSnapが監査を必要とするかどうかを確認し、必要でない場合はレジストリへの申請を進めます。すべてのSnapsは、許可される前にSnapsチームからの2つの承認が必要です。
さらに、一部のサードパーティSnapsは、allowlistへの登録なしに誰でもパーミッションレスでインストールできるようになりました。以下のリストの「オープン」なパーミッションのみに依存するSnapsは、インストール前にallow-listingを必要としません:
endowment:cronjob
endowment:ethereum-provider
endowment:lifecycle-hooks
endowment:page-home
endowment:signature-insight
endowment:transaction-insight
snap_dialog
snap_getLocale
snap_manageState
Snap_notify
allowlistingに必要でない場合でも、開発者にはSnapsのサードパーティセキュリティ監査を受けることをお勧めします。また、SnapsディレクトリにSnapsを表示するには、引き続きallow-listingが必要です。
2. 選択されたdappsへのシームレスな自動接続
開発者は、Snapに対して自動接続権限を持つdappsのリストを指定できるようになりました。これにより、特定のdappsでは、dappがwallet_requestSnapsを呼び出す際に、ユーザーが手動で接続を確認する必要がなくなり、dappはSnapがシームレスにインストールされているかどうかを確認できます。これは複数のdappsで使用されるSnapsに特に有用で、以下のUXフローが可能になります:
1つまたは複数のdappsで使用するSnapを構築し、initialConnections設定オプションにリストすることで、Snapのコンパニオンdappへの自動接続を承認します。
ユーザーがそのSnapを使用するdappを操作しながら、Snapをインストールします。
ユーザーがSnapのコンパニオンdappにアクセスします。
コンパニオンdappは、Snapがすでにインストールされていることを即座に識別できます。
ユーザーはSnapに手動で接続することなく、コンパニオンdappを操作できます。
これは、Snapを統合する信頼できる既知のdappsに拡張できます。
Linea Voyager Snapは現在この機能を使用しており、SnapsディレクトリからLinea Voyager Snapをインストールし、Linea Voyagerコンパニオンdappにアクセスすることで、シームレスな接続を確認できます。ほとんどのコンパニオンdappsとは異なり、このdappはdappからインストールや手動接続をしていなくても、自動的にSnapに接続します。この機能の使用方法の詳細については、Snapsドキュメントをご覧ください。
MetaMask Snapsで構築を続けよう
web3ウォレットのパーミッションレスな未来を構築し続ける中で、私たちは常に体験の改善に取り組んでおり、これら2つの新しいアップデートはパイプラインにあるものの一部です。
現在Snapsで構築している場合は、ご意見をお聞かせください。フィードバックをお寄せください。皆様のフィードバックは、より良いウォレットを構築するのに役立ちます。Snapの構築に興味のある開発者は、Snapsドキュメントを読むことから始め、準備ができたらプロジェクトをシェアしてください。