Seit dem Start der offenen Beta von MetaMask Snaps im September 2023 haben wir uns zum Ziel gesetzt, Innovation zu demokratisieren – indem wir unabhängigen Entwicklern ermöglichen, die Funktionen und Möglichkeiten von MetaMask auszubauen und dabei den vollen Erfindungsreichtum unseres Web3-Bereichs zu entfalten. In den 9 Monaten seit dem Launch wurden 55 Snaps von Drittentwicklern entwickelt, die in unserem offiziellen Verzeichnis gelistet sind, und über 900.000 Installationen über alle Snaps hinweg verzeichnet.
Da wir weiterhin nach Möglichkeiten suchen, das Entwickeln von Snaps und die Erweiterung von MetaMask für Entwickler reibungsloser zu gestalten, haben wir 2 Schlüsselbereiche identifiziert und einige wichtige neue Updates veröffentlicht, die wir in diesem Blogbeitrag näher erläutern.
1. Reduzierte Audit-Anforderungen für die Aufnahme in das Snaps-Verzeichnis
Die Veröffentlichung eines Drittanbieter-Snaps ist jetzt einfacher. Bisher mussten Entwickler ein Audit abschließen, bevor sie einen Snap zur Allowlist einreichen konnten, um in die Snaps-Registry aufgenommen zu werden. Ab heute lockern wir diese Regel, sodass Snaps, die kein Key Management betreiben (entropy API), nun ohne Sicherheitsaudit zur Allowlist eingereicht und über unseren Kanal verteilt werden können.
Es ist wichtig zu beachten, dass wir für Snaps, die Key Management betreiben, weiterhin Sicherheitsaudits durch Dritte verlangen. Key-Management- oder Entropy-APIs sind jene APIs, die zur Verwaltung von Blockchain-Konten im Namen des Nutzers verwendet werden. Zu diesen APIs gehören snap_getBip32Entropy, snap_getBip44Entropy und snap_getEntropy. Wenn du diese APIs verwendest und erfahren möchtest, wie du deinen Snap auf ein Sicherheitsaudit durch Dritte vorbereitest, lies diesen Blogbeitrag über 5 Security Audit Tips from MSQ Snap and Consensys Diligence.
Ab heute ist die Aufnahme in die Allowlist noch ein manueller Prozess. Wir prüfen bei der Einreichung zur Allowlist, ob ein Snap ein Audit benötigt – falls nicht, fahren wir mit der Einreichung in die Registry fort. Alle Snaps benötigen zwei Genehmigungen vom Snaps-Team, bevor sie zugelassen werden können.
Darüber hinaus kann eine Teilmenge von Drittanbieter-Snaps nun von jedem ohne Aufnahme in unsere Allowlist und ohne Einschränkungen installiert werden. Snaps, die ausschließlich auf „offene" Berechtigungen aus der folgenden Liste angewiesen sind, müssen nicht in die Allowlist aufgenommen werden, bevor sie installiert werden können:
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
Wir empfehlen Entwicklern weiterhin, Sicherheitsaudits durch Dritte für ihre Snaps durchführen zu lassen, auch wenn dies für die Aufnahme in die Allowlist nicht erforderlich ist. Außerdem ist die Aufnahme in die Allowlist weiterhin erforderlich, damit Snaps im Snaps-Verzeichnis erscheinen.
2. Nahtlose automatische Verbindung für ausgewählte Dapps
Entwickler können nun eine Liste von Dapps mit automatischen Verbindungsrechten für ihren Snap festlegen. Das bedeutet, dass Nutzer bei bestimmten Dapps, wenn die Dapp wallet_requestSnaps aufruft, die Verbindung nicht mehr manuell bestätigen müssen und die Dapp nahtlos prüfen kann, ob der Snap installiert ist. Dies ist besonders nützlich für Snaps, die von mehreren Dapps genutzt werden, da es folgenden UX-Ablauf ermöglicht:
Du erstellst einen Snap zur Nutzung durch eine oder mehrere Dapps und autorisierst eine automatische Verbindung zur Companion-Dapp deines Snaps, indem du sie in der Konfigurationsoption initialConnections auflistest.
Ein Nutzer installiert deinen Snap während der Interaktion mit einer Dapp, die ihn verwendet.
Der Nutzer gelangt zur Companion-Dapp deines Snaps.
Deine Companion-Dapp kann sofort erkennen, dass der Snap bereits installiert wurde.
Der Nutzer kann mit der Companion-Dapp interagieren, ohne den Snap manuell zu verbinden.
Dies kann auf deine vertrauenswürdigen, bekannten Dapps deiner Wahl ausgeweitet werden, die deinen Snap integrieren.
Der Linea Voyager Snap nutzt diese Funktion bereits, und du kannst die nahtlose Verbindung erleben, indem du den Linea Voyager Snap aus dem Snaps-Verzeichnis installierst und die Linea Voyager Companion-Dapp besuchst. Anders als die meisten Companion-Dapps verbindet sich diese automatisch mit dem Snap, auch wenn du ihn nicht installiert oder manuell von der Dapp aus verbunden hast. Weitere Informationen zur Nutzung dieser Funktion findest du in der Snaps-Dokumentation.
Weiter entwickeln mit MetaMask Snaps
Während wir weiterhin an der erlaubnisfreien Zukunft für Web3-Wallets arbeiten, verbessern wir kontinuierlich die Nutzererfahrung – und diese zwei neuen Updates sind nur ein Teil dessen, was wir in der Pipeline haben.
Wenn du derzeit mit Snaps entwickelst, würden wir gerne wissen, was du denkst – hinterlasse uns dein Feedback, denn es hilft uns, eine bessere Wallet für morgen zu entwickeln. Wenn du ein Entwickler bist, der einen Snap erstellen möchte, kannst du damit beginnen, die Snaps-Dokumentation zu lesen und dann dein Projekt mit uns zu teilen, wenn es fertig ist.