 No, that's not my screen and that's the wrong presentation, but my screen is connected. Yes, that's the right one. Yes. Greetings each and everyone. Great to be here, like bright sun, bright minds. What a great combination. In this talk, I want to present to you Wallace, the Android Ethereum wallet. And we will focus on three things, the why it is, what it is and where do you find it, basically. As many of you, I'm really fascinated by the idea of a world computer. Like, I love this world, I love computers and the combination is like really awesome. And I also think that we can protect this earth by managing the resources way better by using Ethereum. As we are at an Ethereum conference, I don't have to preach to the converted and tell you why Ethereum is awesome. I just want to add one thing, what I really like is the upgrade path to proof of stake, so that we don't have to burn so much energy to have the consensus that we can have it without hurting the environment so much. I really love Bitcoin for the spark it brought to the world, but I really don't like it for how much energy it consumes. And I want to quote the great Greg McMullen from a conference this year, because it's often forgotten. Blockchain is about people. The technological parts are really exciting. The tools are powerful. The engineering challenges are huge. But first and foremost, everything we build is about people. One really nice way to bring Ethereum to people is Android. This is a screenshot from this year's Google I.O., like there are 2 billion monthly active devices, so it's a really nice vehicle to bring Ethereum to these people. And it's also good for emerging countries, because often you see people don't have PCs anymore. They use phones. I'm doing mobile development since a long time. I have a really dark history of Java for micro editions, and Android was basically my savior and saved a lot of problems, so I'm really huge Android fanboy. And one of my apps is Passbook for Android. And there it's a nice connection to Ethereum, because if you treat tickets not as passwords as it is currently, but as tokens, you get really, really nice properties. I gave a talk about that at the Ethereum office in Berlin. If you want to look that up, please do. But when implementing it, I found out there are some building blocks missing to build what I wanted to build. So that's why Wallace, I needed to build that first to basically get where I want to go. And why? One big reason why I didn't want to use wallets that are out there is they didn't fulfill my constraints. The first and most important constraint I had to enroll it is that the keys have to be in the hands of the user and not on some server, because I think that doesn't really fulfill the purpose. And I could not even sleep having all these keys from other users, and I really like to sleep. So, and you think that's quite obvious that the keys should be at the users, but then you see the most used wallet currently something like that, and you obviously see the keys are not at the users, and then you have basically a centralization again, and that's really not what we want. And I also think it has to be liberal software and not closed source software, because even if the keys are in the hands of the users, but you have closed source software, the keys are not really in the hands of the users. And it's not only small parts like some apps have only small parts open, but like there has to be the full app has open, and I want to get even further, not only the app has to be open source, but also the platform has to be open, because it's basically the weakest link in the chain, like on iOS, like on iOS, even if the app is open, Apple could steal all your keys. And in Android, there are no movements to really open up everything like, for example, purism, a phone where like there's no more closed blob or nice movements like the Fairphone. So let's dive in the app, but I have to drink a bit. That's how you're greeted. Because I think the user experience is really important and often missing in tools today. So basically, I guide the users in that he can get first his funds. And after pressing there, you see an ERC67 QR code so you can transfer funds to that. For example, from the nice Go Ethereum faucet. And then after you transfer something there, you see the incoming transaction there. And you might have wondered a lot of other wallets ask you for a password first. But I also think that's a stupid thing because it really hurts the user interface because often you just want to try out things at the beginning. You don't have accounts that have huge value. You just want to try out things, but then basically things force you to enter a password. But I think you should the user story should be different. The user story should be that you basically can try out things. And when the account gets real value, then you secure it. And then I even think you shouldn't secure it with a password, but you should use a real hardware wallet because that's real security because a password we can discuss it in a break doesn't really add much, especially on Android where you have a sandbox. You really need that on a PC where every app can see the data of another app. But on Android, all the apps are sandboxed. So that's what doesn't really help and often gives a false sense of security. Another thing you see in the app there is the scan button. It's the floating action button from Material Android design and it brings you to different places. You can scan ERC67 from, for example, another app. You can import a JSON UTC key or a raw key or a plain address. Unfortunately, a lot of people don't use ERC67. So raw addresses are like really a pain, but they're out there. And you can scan signed and unsigned transaction RP that helps for offline transaction modes. I will talk about it a bit later. A bit more filled, it looks like that. Basically, on the left, it's the incoming row under the incoming button and on the right is the outgoing row because I love for it to be a balance. I think value should not pile up. Value should flow in and flow out. I'm breaking a bit there with user interfaces of other wallets, but I think that's okay. I try to keep a concise visual language. There you see different transaction states. You saw before always at the icon there. There's unsigned transactions. When you don't have a key, you can have watch only accounts. You have signed and confirmed. But, for example, not transacted because you're offline, then you can even delete them, but only locally. They might be already sent. And then full black is signed and confirmed on the blockchain. You cannot delete them for sure. Let's look at the navigation drawer. You can edit your account. Very important. Always your keys, your account, not your keys, not your account. Important export keys. Some settings, offline transactions. Very important and debug at the moment. It's alpha. So debug is very important. So you can see the Go Ethereum. You saw this left icon before. I don't really use and like the blocky icons. So I really want to use Peter Szilagyi's flame IDs. But the same thing with the building blocks because to calculate these flame IDs takes seven seconds on the 1070 GPU. So we need to prove it and stuff first to get that stuff secure because I cannot calculate that on the phone. Here you can edit your account basically with the camera at a watch only account with the key generated key. And treasure very important. I think that's the first wallet for Ethereum treasure support. I think hardware wallets are the key for security and are also an option to be a metaphor for users because they know if they have a hardware wallet, it's really their key. Because only if the key is on your device, you're not really sure if you're in control. But a hardware wallet can be a nice metaphor like UX metaphor. I tried to use common symbols. These are from material design to always be concise all over the app that you can educate users that they have a nice experience. So scan the code offline transactions, treasure, share, private key and copy some content. That's all over the place. It's always the same. That's how it looking when you add a treasure device. Then you have to enter your pin. I don't know if a lot of people of you use treasure so far that you don't see the numbers because the numbers show up on the treasure so that your device can never access it. You can that's optional at password. And then you have also have plausible deniability. Really nice feature from treasure. Then you can select a account from the treasure with the derivation path. I have to speed up a little bit. Sorry for that. Yeah, you can export the keys. Important import, export keys. Always check for that. And here, very important settings. I always use in my apps the day and night theme because it's also you don't want to be blinded at night. And at day you want to be able to read something. So in all of my apps you stay night. And on the bottom you see you have the option to enable light client. I thought in the beginning you always have to have light clients. But light clients unfortunately are in a very early stage and not really usable. They make your phone really warm. That might be nice in Berlin, but it's really bad here. It's so warm. So at the moment I have it as an option, but later on I want to have it on by default. But currently it's not having a good user experience. And I want to get the user experience nice first and later on if light clients are really, really usable, then I make it on by default. Yeah, these were the problems with, but the Go team, big hands to the Go team because they are awesome. I report a lot of bugs, but they get fixed. Yeah, that's really good. And we need these light clients because currently the world leaders, it's crazy in what the world we are living in. And the problem is with, we have a lot of centralization in Ethereum also. And we need to fight that because all the infrastructure we have currently that we take for granted could be gone in a second. It's really bad. And also please all I want you all to survive. Please install the offline survivor manual just in case, you know. Yeah, and also please everyone activate light serve because at the moment light clients also suffer that a lot of the incentive structure get and people don't activate it. Please activate it on all your nodes. So we have a better experience with especially on test nets. So I have to skip a little bit stuff. I have all the tokens. I support ESC 20 and all the token support is coming from my ether wallet. If you want to add your own token, please make a pull request against the disrepository and also a big shout out to the my ether wallet team is just awesome what they are doing there. What you see here, yeah, clap for my ether wallet. Yes, sorry. But we have to hurry. Yeah, you should clap longer, but we have to hurry. Here's very important. The keys are in the user data directory. And the cash has all the glide client data and you see how big the light client data is like it's 500 megabytes. So you can safely delete light client data. But please never delete the user data because they are your keys and I don't have them. I cannot secure them. Even if you ask me, I have no chance. I don't have them. Very important where to get your stuff from. There's a trade-off between convenience. Google Play very convenient, but very centralized and not free. And GitHub is just like a syndrome is also centralized, but I mean, you can better it's always built from source and something in between is asteroid also a nice project. It's in between basically. And don't get it, please, from because I didn't get the in a domain. It's a very sad story. There is Kotlin. Like everything is written in Kotlin. There's Kotlin stuff emerging. I wrote a library. It's a Kotlin library and I have to stop now. I have a breakout and Android things. I have a breakout session at 1650 in the breakout room. So I hope to add some stuff there. Thank you very much. Here's a follow-up.