12 września 2023 roku firma ConsenSys Software Inc. zaprezentowała MetaMask Snaps, rewolucyjne rozwiązanie mające na celu ułatwienie programistom i użytkownikom portfela MetaMask personalizacji i wzbogacania ich doświadczeń w świecie Web3. Ale czym dokładnie są MetaMask Snaps i jak one funkcjonują?
Dan Finlay, współzałożyciel MetaMask, przedstawił Snaps MetaMask jako „nowy mechanizm w portfelu”, który umożliwia interakcję z aplikacjami zdecentralizowanymi (DApps) działającymi na różnych blockchainach.
Oznacza to, że zamiast być zależnym wyłącznie od funkcji i możliwości wbudowanych w MetaMask, użytkownicy mogą teraz dołączać do swojego portfela dodatkowe narzędzia i operacje (Snaps), tworzone przez niezależnych deweloperów.
Wyobraźmy sobie na przykład, że oprócz korzystania z portfela MetaMask, chcemy również używać funkcji oferowanych przez Wallet Guard. Zamiast instalować osobne rozszerzenie do przeglądarki lub aplikację, można skorzystać z Wallet Guard Snap, aby połączyć go z portfelem MetaMask i otrzymywać informacje o transakcjach oraz alerty bezpieczeństwa bezpośrednio w interfejsie MetaMask.
W istocie MetaMask Snaps działają jako pomost pomiędzy portfelem MetaMask a aplikacjami DApps działającymi na różnych łańcuchach bloków. Te „pomosty”, a właściwie specjalne ramy, umożliwiają niezależnym twórcom tworzenie i integrowanie wtyczek, które rozszerzają możliwości MetaMask, oferując użytkownikom większy wybór i elastyczność.
Dzięki MetaMask Snaps użytkownicy zyskują dostęp do szerszej gamy łańcuchów bloków, aplikacji DApps, tokenów, dostawców usług bezpieczeństwa transakcji, systemów powiadomień, a nawet nowych sposobów interakcji.
MetaMask Snaps wykorzystuje silnik JavaScript o nazwie Secure EcmaScript (SES), który uruchamia wtyczki w odizolowanym środowisku. W konsekwencji, Snaps nie mają możliwości wpływania na inne programy, a zwłaszcza na podstawowe funkcje portfela MetaMask. Ich działanie ogranicza się do konkretnych opcji i uprawnień nadanych podczas instalacji.
Komunikacja Snaps z MetaMask odbywa się za pośrednictwem zdefiniowanego interfejsu API (Application Programming Interface) – API portfela – który udostępnia niezbędne funkcje i dane. Natomiast z zewnętrznymi sieciami blockchain komunikują się one za pomocą żądań HTTPS i innych protokołów.
Jako platforma open-source, MetaMask Snaps pozwala każdemu na tworzenie nowych wtyczek i instalowanie ich w portfelu MetaMask. Do tworzenia Snaps niezbędne jest zainstalowanie MetaMask Flask, gdzie można projektować i testować wtyczki przed ich wdrożeniem w stabilnej wersji rozszerzenia MetaMask.
Po stworzeniu Snap, może on zostać poddany weryfikacji przez MetaMask i umieszczony w Katalogu Snaps MetaMask. We wrześniu 2023 roku katalog ten zawierał już ponad 30 wtyczek. W przyszłości MetaMask planuje rozszerzyć proces audytu, aby umożliwić zewnętrznym podmiotom przeprowadzanie audytów i publikowanie list wtyczek.
Nawet jeśli nie jesteśmy twórcami, możemy wybrać dowolną wtyczkę z katalogu, w zależności od potrzeb. Podobnie jak inne wtyczki, MetaMask Snaps wymagają instalacji i mogą być włączane oraz wyłączane. Oto jak zainstalować Snap MetaMask:
To naprawdę takie proste!
Zarówno programiści, jak i inwestorzy kryptowalut mogą czerpać liczne korzyści z korzystania z MetaMask Snaps.
1. Współpraca z łańcuchami bloków innymi niż EVM
Do tej pory MetaMask obsługiwał jedynie sieci zgodne z Ethereum i Ethereum Virtual Machine (EVM). Dzięki MetaMask Snaps możliwe jest łączenie się z sieciami innymi niż EVM, takimi jak Bitcoin i Solana, które wcześniej były niedostępne dla użytkowników MetaMask.
Na przykład, Zion Snap pozwala na zarządzanie Bitcoinami bezpośrednio w portfelu MetaMask, bez potrzeby pakowania tokenów. Podobna sytuacja ma miejsce w przypadku Solana Snap. Dzięki wtyczkom Snaps możliwe jest łączenie się i korzystanie z wielu sieci blockchain (zarówno EVM, jak i innych) za pośrednictwem portfela MetaMask.
2. Nowe funkcje powiadomień
Poza interoperacyjnością, MetaMask Snaps umożliwiają otrzymywanie natychmiastowych powiadomień w portfelu. Wtyczki wykorzystują API portfela, integrując powiadomienia w czasie rzeczywistym z podłączonego protokołu DApp lub blockchain.
Użytkownicy mogą otrzymywać aktualizacje, alerty cenowe, dostęp do wykresów lub wiadomości bezpośrednio w interfejsie MetaMask.
3. Analiza transakcji i szczegółowe informacje
Niektóre wtyczki Snaps analizują transakcje przed ich zatwierdzeniem, aby zapewnić bezpieczeństwo środków. Obejmuje to ocenę adresu odbiorcy (umowy) w celu ustalenia jego bezpieczeństwa, informowanie o potencjalnych próbach phishingu oraz przewidywanie powodzenia lub niepowodzenia transakcji.
Możliwość analizy transakcji można zweryfikować na podstawie uprawnień wymaganych podczas instalacji wtyczki. Na przykład, jeśli wtyczka wymaga uprawnienia do „Pobierania i wyświetlania statystyk transakcji”, wiadomo, że oferuje ona analizę transakcji.
4. Udoskonalenie funkcjonalności portfela
MetaMask Snaps umożliwiają dostęp do dodatkowych funkcji, takich jak ochrona prywatności oraz możliwość wysyłania i odbierania wiadomości bezpośrednio w portfelu MetaMask.
Dzięki wtyczkom Snaps można personalizować i wzbogacać portfel, instalując tylko te funkcje, które są rzeczywiście potrzebne.
Ponadto programiści mogą łatwo tworzyć i udostępniać swoje wtyczki Snaps. Docelowo będzie to możliwe bez konieczności uzyskania zgody od MetaMask, co przyczyni się do dalszego rozszerzenia funkcjonalności portfela.
Istnieje już wiele dostępnych wtyczek MetaMask Snaps, które można zainstalować i zacząć używać.
1. Portfel Solflare
Solflare Wallet Snap umożliwia współpracę pomiędzy MetaMask a Solaną, siecią inną niż EVM. Użytkownicy mogą połączyć swój portfel MetaMask z siecią Solana, przechowywać tokeny, korzystać z aplikacji i zarządzać kontami.
2. Push V1
Push Snap pozwala na otrzymywanie powiadomień z subskrybowanych kanałów bezpośrednio w portfelu MetaMask. Wystarczy zainstalować wtyczkę, zasubskrybować kanały i podłączyć adres portfela, aby otrzymywać powiadomienia o ważnych wydarzeniach w świecie Web3.
3. Blockfence
Dzięki Blockfence Snap, użytkownicy mogą analizować transakcje przed ich zatwierdzeniem, oceniać używane DApps i inteligentne kontrakty, z którymi wchodzą w interakcję, a także analizować posiadane tokeny.
MetaMask Snaps zapewniają użytkownikom kryptowalut łatwy dostęp do DApps i zdecentralizowanych finansów w różnych sieciach blockchain za pośrednictwem jednego portfela. Programiści z kolei zyskują możliwość łatwego tworzenia i dystrybucji swoich wtyczek.
MetaMask Snaps mają potencjał, by całkowicie zmienić zasady gry i przybliżyć nas do marzenia o w pełni zdecentralizowanym systemie.