Francesco Andreolí - ConsenSys | MetaMask Snaps - ETHSafari 2023: The Conference Highlights
ETHSafari Talks · 2023 · 11:09
Francesco Andreolí of ConsenSys walks the ETHSafari 2023 audience through MetaMask Snaps, the extension system that lets developers add new capabilities to the MetaMask wallet. He frames Snaps around the idea that consent is king, and shows how they are helping to democratize access to web3 for users and builders alike.
Speakers
Topics
From ETHSafari Talks, hosted by ETHSafari.
Transcript
uh we all use metamask I don't know what what you guys using metamask for today a shout it out so payments swaps uh I don't know bridging maybe you guys use the metam portfolio uh but the long story short is that is being evolving right so we're trying to find a way also to uh to get also the community in control of not just their self-ship but also like their data their decision and also giving more active active feedbacks so it's all about um having a wallet that is culturally like a very user defensive uh wallet so an enable the user always like to understand okay where uh how many transaction or what transaction you're doing all the time so I don't know I cannot predict the future
what I can tell you is what the wallet in the future will not look like and uh so the first way is so it's a player versus player I think right now we are building different wallets with the same features and what is what we not happening is that these these islands are kind of like growing by each other without actually a full interoperability without actually having users there are not talking with each other the second one is the one the one it all uh meaning like we have different Journeys I don't know like if I ask you guys what you guys are using I'm sure like there are people more into like an are people more into like loans and credit scoring or like uh very defi users or there are
just people doing for very easy and uh um and very easy and high level uh obstruction obstruction task right so uh I think it's but one ft this is working like this is not working okay so um one entity know best I think like we don't know what uh the future look like meaning also like we have I don't know if you check our our metamask repo but we have like 200 uh open issues today and we cannot get enough feedbacks and Implement natively those features that are being asked so now people came and said hey can you go can you build integration around um around I don't know nonm compatible uh
support right like for example having Cosmo support having uh um Solana support having ipfs support right those are non compatible chain and today this the cool stuff is that we can do it everything through uh znaps so if we go next uh basically like we have identified those five principle that we want actually continue building not just the wallet not just the mobile version but the entire like culture around building the Next Generation uh infrastructure for enabling much more use case so the first one is all about like giving users access and uh uh how do you say giving users like enough
power to make not just decision and having new data points for making conscious uh decisions but also like always having the user in mind that they want to defend their own uh privacy right so you need to always know what are you accessing how you're accessing and having whenever you want revoking access to whatever you're you're interacting with right the second principle is all about trust so uh building trust obvious is not easy and you can literally kill it after like 10 15 minutes so everything they were building we thinking about uh is that actually like a collaboration is actually like around web three culture this is actually something that we want to we want to build and we want to defend really the users one example
could be we want to do account recovery of course everybody want to do account recovery but we're doing account recovery in the right way right so no email recovery or any centralized method to get uh to get uh uh your uh your your account back the third one is obviously like uh this is kind of like the prerogative of every like uh let's say web 3 mission it need to starts everything through the centralization so uh and this is not just you know having a fully decentralized way to do things but it's also about you know customizing and having personalized Journey around what you're doing right you're a def user you want to have a def Focus wallet you you're an nft artist you want to have your like nft focused wallet so this
customization is key the other big part is empowering communities right today I don't know what you doing guys like in the space see since you are around but for example for me I was always giving feedbacks to the products right giving feedback opening PRS uh getting like you know feedbacks Improvement I was never really active as like a developer in the ecosystem right and I think that's very important because this is one one the most important part like you want to have a community that's not just giving feedback but it's actually actively Fe building new uh new parts of of your Tech stock right and I think this is very important that's where Snaps are are
happening so looking at those principle principles we are super Keen around permissionless Innovation right so having Community Builders uh building for their product and this is where actually things are getting interesting all the use case that you throw at us all the use case that are getting like from feedbacks and developer Journey now is the time that you can actually build and you you can actually like uh bring like this kind of like extension on top of what metamask is today cool so uh this is the first milestones we launched that permissionless so for the past three years snaps were available for for developer only on flask do you guys use flask so flask is the canary version of metamask and now the cool thing is that
since permissionless so two two weeks ago we launched 34 uh snaps uh they are basically on this public directory they are available for everybody that use production metam mask right I think I have here a video but I'm not sure like if uh if actually the video will uh will start with the sound let's see if not I don't want to bore you I will send you the link afterwards but uh I will tell you the music we we we launch so we we uh play this video where there were like 2,000 people in the room with like a cool sound that was was quite crazy but let's yeah let's uh let's go we can yeah can play [Music]
it looks like a silent a silent read documentation strategy but uh so the long story short in this video is that we launch three different type of snaps uh I will tell you a little bit like in a moment okay let's I would say let's go next but basically what are snaps right I think like for now you you kind of got it those are like addson or extension we cannot really call it uh publicly but they are kind of like plugins right think about features that are extending the functionality of what uh metamask is today and the cool thing is that today you have an API playground how many developers are here in this open room uh okay so people but basically like to
today um you can interact with the API playground for metamask itself so it's a limited API playground and with znaps you can basically like interact with any API out there so if your company building API Suite or if your company's building a specific product you can actually interact directly with snaps build your snap and have access directly through uh through the user base metamask user base afterwards so how does it work uh I just mentioned it so and on and mods and uh on a technical level uh snaps is a mix of like script you have a manifest Json file and is running through like a specific like script and uh my recommendation is always like uh we have monor repos and also examples snaps you can actually take a forkit and uh and
build from there and uh it's already like bunch of like the work is is done there those are some use case that are actually quite good uh that so we launch right now inability notification and transaction insights I will go through the demos later but interoperability are are basically no DM compatible snaps so Cosmos snap Etc snap so you can actually work around with uh uh with those transaction insides is whenever you're accepting a transaction you can actually like when you when you install your snap uh when you install this there are I think the battery is killed but the transaction inside snap is nothing else as getting more data points on the transaction itself so before approving if you have your your transactions naap
activated you can see before approving if you're transacting with a a malicious contract or for example an air dropped uh account and actually super cool because it's giving you much more data points before app approving or declining a transaction uh decentralized identity and accounter struction are kind of the next category happening but you know the kind of the there is there is a limited um application that you can do on AA you can just do for example account recovery NPC sponsor transaction uh there are Li limited limited accounts light wallets there are different use cases that actually quite uh quite interesting on the interoperability side oh this is good on the interoperability side you have also uh also like think about nonm compatible rollups similar to like I
don't know Stark net you can build also like add your Stark net snap and is actually quite interesting what what you can do there okay let's go next what about security so one important part is that Snaps are interacting with the extension and you as users are the one that are proving or declining all the transaction and it's super transparent right you can see actually everything if I'm going next you see actually like how and when you install this snap this is the wallet guard snap by the way these guys are based in Legos I don't know if you uh uh they're super cool but basically like uh while you install this naap you can actually see what and how you're interacting with the extension so I don't know if you guys install Chrome extension but a lot of time even myself
I have no idea what permission of your grinding uh to the browser to do what and this is extremely like is a is actually really bad right if you think about and through znap is totally the opposite like we want to understand how the users how he's interacting and what actually access you're giving to the extension even like access the internet this is actually quite cool because you even like getting access the internet you need to approve it and uh and those are all like Chron Chron jobs they're being uh parted cool um so security come first so this is all around like why why we're doing this and how we want to have the users fully committed understanding what permission is giving and is uh approving