# MetaMask: Dissecting the fox

- Channel: [Devcon](https://streameth.org/devcon)
- Date: 2018-10-07
- Duration: 18:31
- Watch: https://streameth.org/watch/yt-P6Bosg9QKnw
- YouTube: https://www.youtube.com/watch?v=P6Bosg9QKnw

## Description

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more.
https://archive.devcon.org/archive/watch/3/metamask-dissecting-the-fox

Aaron Davis and Frankie Pangilinan give their talk titled, "MetaMask: Dissecting the fox"

Speaker(s): Aaron Davis, Frankie Pangilinan
Skill level: Beginner
Track: Developer Infrastructure


Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum
Learn more about devcon: https://www.devcon.org/
Learn more about ethereum: https://ethereum.org/ 

Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. 
Devcon 3 was held in Cancún, Mexico on Nov 1 - 4, 2017
Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

## Transcript

[Music] very good hello I'm kuma vez from Metta mask and today we will be dissecting the Fox its are there any meta masks users out there does anyone have it wow that's amazing so yeah we'll be looking at its parts and pieces and figure out how it ticks to begin let's take a look at the eyes in the brain what we see what we know first of all we know we must be doing something right we have just shy of 200,000 users and growing at quite a pace we're in Chrome Firefox Opera and recently brave not in Safari they have not adopted the standards that we rely on they like to think differently over there more on brave not just brave support but actually brave integration if you go to a web 3 enabled app in brave it'll bring up that bar at the top recommending that you install meta mask in order to use etherium applications for all brave users this is fantastic [Applause] some other statistics despite its popularity minimus still represents about 5% of the transactions on the network by volume we had a peak at about 10% and I think the the other wallets are about the same maybe Meuse a little more but there's clearly a large amount of activity on the blockchain that must be automated perhaps exchanges or mining pools I'd love to hear if anyone's done some data analysis there in the past year there's been some fantastic gaps that have come out that play well with meta masks the new state of the DAPs website is fantastic and you can even search by meta mask compliant apps by just adding the meta mask filter I encourage you to check that out to sort of gauge what is the most popular daps right now we have some data from in fura in first place is ether Delta and second is Oasis Dex both token exchanges obviously tokens have been very popular so no surprise there in third place is meta mask itself we're a bit noisy and we are constantly tracking the latest block updating balances and whatnot after that is the ENS register ENS was a big hit this year after that we got token factory token factories a nice little demoed app you can create a token sending it around clearly we have lots of people experimenting with aetherium trying to get an idea of how to use it after that there's the sigh the simple stable token experiment and the wallet da theorem gorg this is actually the official aetherium wallet interface and you can visit that in your regular browser with minim ask and it works then a long tail of various other projects and experiments out there and including 127 0.1 obviously many developers out there cranking away we also had a successful security audit this year they said in some the meta mask project should be considered safe and secure and that's great to keep up with the rapid growth our team has grown from four to ten much thanks to the design by Christian he did the original logo Thomas has helped us out with testing and James has really saved us doing support answering user questions if you send us an email he's who you're talking to also the the Kaioken team has helped us out very much with a new look and feel and I have to thank consensus for for making this possible so yes let's take a look at the fur and skin the look and feel of men of Oz next and for that I bring on Dan from the Kaioken team also known as Dino Dan okay yeah what's up I'm Dan I am part of the Q can team we do apps and interfaces for blockchain companies you can find us at Keo Kent at i/o I will talk about version 4 of meta mask the new UI some token management features and our anni responsive way out with multiple form factors so that as you can see the new UI here is completely redesigned shout out again to Christian for some great work it looks a lot better and it's quite a bit easier to use we hope you like it look out for the rollout in the next couple of weeks on the chrome store and several other browsers next up is ad token which is a feature that we've cleaned up a lot as you can see here you can do a string search for your token name and token symbol this is actually an open source project you can make a contribution to called eath - contract - metadata right now we're searching for maker and we can add it as you can see here we can also add a custom contract token as you're aware of we're gonna automatically fetch the token metadata so this is the 0x token contract address alright after you've added your token you can send your tokens which is a new feature so I've got some keys here for our company key I can I can send my tokens to to my friend and I've got a new gas tool tip to customize the gas price we're all about responsive design of course so you've got two form factors here mobile and desktop on the left hand side you have account and balances and on the right hand side you have transactions and on the top right you've got your familiar network drop down and account settings and next up I'd like to introduce Frankie to talk a little bit about meta mask in the browser and what the future holds can you guys hear me Oh perfect I can hear myself hi I'm Frankie I am a court dev on meta mask I'd like to thank Dan one more time for coming up and speaking for us so let's talk about building gaps with meta masks we recommend this pattern today if you want to build it up as you can see it's quite a bit of code and personally I think it's a little clunky and that we can do better I've wandered too far from the laptop I would like to announce meta mascara meta mascara is a module that you can require in your build system or drop in as a script tag like so and to use the CDN but a mascara finds the environmental provider and works with Miss meta mask extension and parity will extract it for you and if we actually go back here we can see how that works and you just call create default provider and it will get it for you if there is no environmental web 3 to extract the provider from meta mask we'll our mascara connects to the new meta mask web app at wallet dot minimus that I oh let me just hold for a second there guys that means your users don't have to download meta masks anymore to demo this I've built a little DAP here that we can see how the flow of what it will look like using mascara going create password sure we're all used to this of course we've kept our lovely Fox it's also a little slow sorry I didn't speed it up for you guys generate unique account ignore the beta notice as we always do also just scroll straight down and then do seed phrase get a good look at that seed phrase everybody and just as a little added bonus for our use to protect our users we've added a little game to make sure that you've backed up your seed phrase correctly don't go through and click things yeah it's fun [Music] now of course I'm only human thank God I wrote my seed phrase as you can see it's not gonna let me confirm that because it's wrong so we can all awkwardly sit here now and watch me try to figure it out yeah there you go you're doing a good job it's okay yeah mm-hmm go on she gets nervous on stage you know ah there we go then of course it takes you to this deposit page which I'm going to skip for the sake of the demo and takes you to the account details screen and we go back to the top click bonk me and if you can see here in a second the meta mask window is going to pop up just like you would see in the extension so let's talk about how that works meta mask as you know it is an extension and provides a single background process for different applications to talk to so users can use this in keys we've created a very similar flow here by hosting meta mascara will inject an iframe into the web page that talks to the serviceworker underneath wallet meta must at i/o the serviceworker contains the meta Moz core which also talks to the UI I would just like to remind everyone also that mascara is a developer beta and if you find any issues please report them we greatly appreciate it now I'd like to welcome comethis back up stage to talk about the evolution of meta mask yes let's talk about where this fox is headed just a small one to begin with debug.trace transaction if you saw the demo for a remake stutter theorem earlier it's a fantastic tool for debugging the transactions behavior in your contract but previously it's required tester BC or a specially configured death node in order to use it and soon to be pushed to production you can use it right in meta mask against any network here pointing at another RPC method our first new one the first one that it's been implemented in meta mask and not yet parity and guess this is eath sign typed data from EEP seven one two this gives us a human readable structured data signing format you can specify some parameters and their value and when they are intercepted by a meta mask here's a little mock-up we can display that sort of that form data before you decide to sign or deny and this is very useful for state channels moving on to some internal organs the heart really key management we've broken out the key ring controller and one of our key ring types the hierarchical deterministic keyring and and you can use these as modules if you're building a JavaScript wallet and if you build other keyring types that match that API they can be added to the keyring controller or added to madam asked if we build the requisite UI for them so they slot right in so yes wallet developers please feel free to use these modules take advantage of our security audit we know many people have been waiting for Hardware wallet support contract proxy account support and coming soon the account abstraction from the next fork they can be implemented using those keyring types another internal organ of meta mask is the bought chain data source the the provider we've been experimenting with a ipfs based zero and light client and what would that look like it's well it would fit right into the network menu and meta mask like you're used to it's like hearing via IP FS and it works just like you'd imagine it would and however since selecting an item from a menu doesn't really make for a great demo we have a data visualization of what's happening behind the scenes so this is still very early stage it's a naive it's doing lots of back-and-forth what you see here is it's lazily loading nodes from the state graph in order to provide data for multiple instances of the theorem virtual machine running currently it's looking up some data on the oMG token a couple accounts bounces as well as the total supply the blue is the state graph and the green is inside of the contract the contract storage if you have some questions about that find me afterwards I'll be happy to answer them this is still very early stage experimental we've spun up a project called boost Acala to organize some of the efforts to bridge in theory amman ipfs it sounds like many other projects have been working on this as well so we look forward to working with them and yes the foxes howl many many people ask how how can we collaborate we're very open to this please just reach out in particular if you're doing a token launch and you are recommending meta masks to your users please get ahold of us we've had many many support questions over the past year and sometimes don't know where to direct our users to actually get the information so please take care of your users and one way you can do that is to reach out to us another how how to contribute of course meta mask is all open source we would love to have your contributions we're looking forward to integrating with get coin get token in all these incentive schemes that the that ecosystem has been creating if you really like minnow masks we're also hiring reach out to us oh yeah we also would like to highlight a few other things in the peer-to-peer ecosystem as Joseph Puna said many times the blockchain should be sort of the supreme court we should only go there as often as necessary and there's many elements of this decentralized ecosystem that frankly don't need a blockchain and so I I think that we need to explore some of the some of the already existing projects that are doing a great job there I'd like to highlight the beaker browser this is an awesome peer-to-peer browser it's based on the DAP network which is comparable to ipfs it it lets you share and serve websites peer-to-peer as well as create your own websites patchwork which is a one interface on the secure scuttlebutt network this is a very highly featured social network that's completely peer-to-peer and doesn't use blockchain at all this is fantastic I think you'll enjoy exploring its community so please check it out oh yes and one more thing that mascara that Frankie demoed it works right now on Chrome for Android right in your browser so try that out thank you [Music]
