 So I'm Kumavis from MetaMask, and today we will be dissecting the fox. Are there any MetaMask 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 and 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 DAP in Brave, it'll bring up that bar at the top. Recommending that you install MetaMask in order to use Ethereum applications for all Brave users. This is fantastic. Some other statistics. Despite its popularity, MetaMask still represents about 5% of the transactions on the network by volume. We had a peak at about 10%. And I think the other wallets are about the same, maybe amuse 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 DAPs that have come out that play well with MetaMask. The new state of the DAPs website is fantastic. And you can even search by MetaMask compliant DAPs by just adding the MetaMask 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 Infura. In first place is Ether Delta. In second is Oasis DEX, both token exchanges. Obviously tokens have been very popular, so no surprise there. In third place is MetaMask itself. We're a bit noisy and we are constantly tracking the latest block, updating balances and whatnot. After that is the ENS registrar. ENS was a big hit this year. After that, we got Token Factory. Token Factory is a nice little demo DAP. You can create a token, sending it around. Clearly, we have lots of people experimenting with Ethereum, trying to get an idea of how to use it. After that, there's the SI, the simple stable token experiment, and the wallet.etherium.org. This is actually the official Ethereum wallet interface, and you can visit that in your regular browser with MetaMask, and it works. Then a long tail of various other projects and experiments out there, including 127.0.0.1. Obviously, many developers out there cranking away. We also had a successful security audit this year. They said, in sum, the MetaMask project should be considered safe and secure. That's great. To keep up with the rapid growth, our team has grown from four to 10. 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. The Kilken team has helped us out very much with a new look and feel, and I have to thank consensus for making this possible. Yes, let's take a look at the fur and skin, the look and feel of MetaMask next. For that, I bring on Dan from the Kilken team, also known as Dino Dan. What's up? I'm Dan. I am part of the Kilken team. We do apps and interfaces for blockchain companies. You can find us at Kilken.io. I will talk about version four of MetaMask, the new UI, some token management features, and our new responsive layout with multiple form factors. 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 is 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 add 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 eth-contract-metadata. Right now we're searching for maker, and we can add it as you can see here. You can also add a custom contract token as you're aware of. We're going to automatically fetch the token metadata. This is the XeroX token contract address. After you've added your token, you can send your tokens, which is a new feature. I've got some Kiosk here for our company, Kilken. I can send my tokens to my friend, and I've got a new gas tooltip 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 MetaMask 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 core dev on MetaMask. I'd like to thank Dan one more time for coming up and speaking for us. So let's talk about building dApps with MetaMask. We recommend this pattern today if you want to build a dApp. 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 to wander back. I would like to announce MetaMaskerra. MetaMaskerra is a module that you can require in your build system or drop in as a script tag, like so, to use the CDN. MetaMaskerra finds the environmental provider and works with Miss. MetaMask 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 CreateDefaultProvider and it will get it for you. If there is no environmental Web3 to extract the provider from, MetaMask will, or MetaMaskerra, connects to the new MetaMask web app at wallet.metaMask.io. Let me just hold for a second there, guys. That means your users don't have to download MetaMask 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 MetaMaskerra. Go and 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. We'll generate a 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 to protect our users, we've added a little game to make sure that you've backed up your seed phrase correctly. We'll go through and click things. It's fun. Now, of course, I'm only human. Thank God I wrote my seed phrase. As you can see, it's not going to let me confirm that because it's wrong. So we can all awkwardly sit here now and watch me try to figure it out. There you go. You're doing a good job. It's OK. Go on. She gets nervous on stage. There we go. And 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 dep, click Bonk Me. And if you can see here in a second, the MetaMask window is going to pop up just like you would see in the extension. So let's talk about how that works. MetaMask, as you know, it is an extension and provides a single background process for different applications to talk to, so users can use the same keys. We've created a very similar flow here by hosting MetaMaskera. We'll inject an iframe into the web page that talks to the service worker underneath wallet.metaMask.io. The service worker contains the MetaMask core, which also talks to the UI. And moving on. I would just like to remind everyone also that MetaMaskera is a developer beta, and if you find any issues, please report them. We greatly appreciate it. Now I'd like to welcome Kamavis back up stage to talk about the evolution of MetaMask. Hello, hello. Hello, excellent. 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 remixed.etherium earlier, it's a fantastic tool for debugging the transactions behavior in your contract. But previously, it's required test RPC, or especially configured geth node in order to use it. And soon to be pushed to production, you can use it right in MetaMask against any network you're pointing at. Another RPC method, our first new one, the first one that has been implemented in MetaMask and not yet parody in geth. This is eth sign types data from eep712. This gives us a human readable structured data signing format. You can specify some parameters and their value. And when they are intercepted by MetaMask, here's a little mock up. We can display that sort of that form data before you decide to sign or deny. This is very useful for state channels. Moving on to some internal organs, the heart to really key management. We've broken out the key ring controller and one of our key ring types, the hierarchal deterministic key ring. And you can use these as modules if you're building a JavaScript wallet. And if you build other key ring types that match that API, they can be added to the key ring controller or added to MetaMask. 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 key ring types. Another internal organ of MetaMask is the blockchain data source, 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 in MetaMask like you're used to. Select Ethereum via IPFS. And it works just like you'd imagine it would. 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 a very early stage. It's 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 Ethereum virtual machine running in parallel. Currently, it's looking up some data on the OMG token, a couple of accounts balances, as well as the total supply. The blue is the state graph, and the green is inside the contract, the contract storage. If you have some questions about that, find me afterwards. I'd be happy to answer them. This is still very early stage experimental. We've spun up a project called Moustakala to organize some of the efforts to bridge Ethereum and IPFS. 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 people ask you 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 Metamask 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 howl, how to contribute. Of course, Metamask is all open source. We would love to have your contributions. We're looking forward to integrating with Gitcoin, GitToken, and all these incentive schemes that the ecosystem has been creating. If you really like Metamask, 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 Poon has 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 think that we need to explore 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 lets you share and serve websites peer-to-peer, as well as create your own websites. Patchwork, which is 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.