Depuis le lancement en bêta ouverte de MetaMask Snaps en septembre 2023, nous nous sommes engagés à démocratiser l'innovation en permettant à des développeurs indépendants de créer les fonctionnalités de MetaMask qui reflètent toute l'ingéniosité de notre espace web3. En 9 mois depuis le lancement, nous avons vu 55 Snaps développés par des développeurs tiers, répertoriés dans notre annuaire officiel, et plus de 900 000 installations au total sur l'ensemble des Snaps.
Alors que nous continuons à chercher des moyens de rendre la création de Snaps et l'extension de MetaMask plus fluides pour les développeurs, nous avons identifié 2 domaines clés et publié d'importantes nouvelles mises à jour, que nous allons aborder dans cet article de blog.
1. Exigences d'audit réduites pour l'inscription sur liste autorisée dans l'annuaire Snaps
La publication d'un Snap tiers vient de se simplifier. Jusqu'à présent, les développeurs devaient effectuer un audit avant de soumettre un Snap à la liste autorisée pour être inclus dans le registre Snaps. Aujourd'hui, nous assouplissons cette règle afin que les Snaps qui ne gèrent pas de clés (entropy API) puissent désormais être soumis à la liste autorisée sans audit de sécurité et distribués via notre canal.
Il est important de noter que nous continuerons à exiger des audits de sécurité tiers pour les Snaps qui gèrent des clés. Les API de gestion de clés ou d'entropie sont celles utilisées pour gérer les comptes blockchain au nom de l'utilisateur. Ces API comprennent snap_getBip32Entropy, snap_getBip44Entropy et snap_getEntropy. Si vous utilisez ces API et souhaitez savoir comment préparer votre Snap pour un audit de sécurité tiers, consultez cet article sur les 5 conseils d'audit de sécurité de MSQ Snap et Consensys Diligence.
À ce jour, l'inscription sur liste autorisée reste un processus manuel. Nous vérifions si un Snap nécessite un audit lors de sa soumission à la liste autorisée, et si ce n'est pas le cas, nous procédons à son ajout au registre. Tous les Snaps nécessitent deux approbations de l'équipe Snaps avant de pouvoir être autorisés.
De plus, un sous-ensemble de Snaps tiers peut désormais être installé par n'importe qui sans inclusion dans notre liste autorisée, de manière sans permission. Les Snaps qui reposent uniquement sur des permissions « ouvertes » de la liste suivante n'ont pas besoin d'être sur liste autorisée avant de pouvoir être installés :
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
Nous encourageons toujours les développeurs à effectuer des audits de sécurité tiers pour leurs Snaps, même si cela n'est pas requis pour l'inscription sur liste autorisée. Par ailleurs, l'inscription sur liste autorisée reste nécessaire pour que les Snaps apparaissent dans l'annuaire Snaps.
2. Connexion automatique fluide pour les dapps sélectionnées
Les développeurs peuvent désormais spécifier une liste de dapps bénéficiant de privilèges de connexion automatique avec leur Snap. Cela signifie que pour des dapps spécifiques, lorsque la dapp appelle wallet_requestSnaps, les utilisateurs n'auront plus besoin de confirmer manuellement une connexion, et la dapp pourra vérifier de manière transparente si le Snap est installé. Cela est particulièrement utile pour les Snaps utilisés par plusieurs dapps, car cela permet le flux UX suivant :
Vous créez un Snap destiné à être utilisé par une ou plusieurs dapps et autorisez une connexion automatique à la dapp compagnon de votre Snap en la répertoriant dans l'option de configuration initialConnections.
Un utilisateur installe votre Snap en interagissant avec une dapp qui l'utilise.
L'utilisateur accède à la dapp compagnon de votre Snap.
Votre dapp compagnon peut immédiatement identifier que le Snap a déjà été installé.
L'utilisateur peut interagir avec la dapp compagnon sans se connecter manuellement au Snap.
Cela peut être étendu aux dapps de confiance de votre choix qui intègrent votre Snap.
Le Linea Voyager Snap utilise actuellement cette fonctionnalité, et vous pouvez constater la connexion fluide en installant le Linea Voyager Snap depuis l'annuaire Snaps et en visitant la dapp compagnon Linea Voyager. Contrairement à la plupart des dapps compagnons, celle-ci se connecte automatiquement au Snap, même si vous ne l'avez pas installé ou connecté manuellement depuis la dapp. Consultez la documentation Snaps pour des informations détaillées sur l'utilisation de cette fonctionnalité.
Continuez à développer avec MetaMask Snaps
Alors que nous continuons à construire l'avenir sans permission pour les portefeuilles web3, nous travaillons constamment à améliorer l'expérience, et ces deux nouvelles mises à jour font partie de ce que nous avons en préparation.
Si vous développez actuellement avec Snaps, nous aimerions connaître votre avis, alors laissez-nous vos commentaires, car cela nous aide à créer un meilleur portefeuille pour demain. Si vous êtes un développeur souhaitant créer un Snap, vous pouvez commencer par lire la documentation Snaps puis partager votre projet avec nous lorsqu'il sera prêt.