 Okay, so if you are watching right here, right now, then that's because you want to know how Monero's reference implementation GUI wallet works. You love the idea of Monero, you listen to all the talks, you're like, Diego, I need this. I need this in my life. I need to get on board with Monero, but just downloading things and using the wallet, it's all scary. What if my Monero just disappears? What if everything just goes away? So this is the workshop for you. I'm going to be kind of going through the, I'm going to be going through the Monero wallet, getting everybody comfortable with it. We're going to send a transaction. We're going to receive a transaction. We're going to go ahead and prove a transaction. So, you know, proving that I did in fact, send from one place to another place. So, you know, and we'll talk about when somebody would want to do that, why they would want to do that. And then we'll go ahead and show you how we would go ahead and do that. And if you have any questions at any point in time, please by all means put them in the chat. I have both a Twitch and the YouTube open. So I will go ahead and be watching both. Just put it in either. If you need me to slow down or any of these things. Ideally, as we're starting, I would recommend everyone to go to getmonero.org. There is a place for downloads. And, you know, as we're getting started here, if you want to follow along, go to getmonero.org slash downloads or click on the downloads in the navigation and go ahead and download the GUI wallet. Ideally, you would want to do the thing about where you're checking the hashes, which there is instructions for to do there as well, but we're not going to have time to go through that at the present time. So you can go ahead and do that later, but you are going to want to check your hashes just to make sure you have the correct software that has not been hijacked or anything. So I'm going to go ahead and share my screen if that's okay with everybody. Let's go ahead and do that just one second. Okay, so here is my lovely Monero wallpaper. And we have a freshly opened Monero GUI. It's not super freshly open because when you do first open this, the first thing that you're going to see, oh, it's not this one. Although, hey, neat little feature, you can go ahead and switch Light Mode, Dark Mode. But basically, the first thing you're going to do is choose a language, I believe, although maybe they updated that and it just takes a few of your computer, but I don't think so. So you can go ahead and choose your language and you're going to come to this thing. Simple Mode, Simple Mode Bootstrap, Advanced Mode. What do you choose? What do you do? How does this work? So this isn't really that scary. Basically, Monero wallets have two ways of connecting to the Monero network. Either you can download the blockchain onto your device. This is the most, this is the one that has the least amount of trust because now you're just all the time you're working with your own blockchain. You're not going to be working with anybody else's blockchain. You don't need to connect to any external computers. It's just all you, all the time. So you can do everything locally. But that's going to take time to download everything. That's going to take time to verify everything. That's going to take space. And right now Monero blockchain is like, I don't know, like 80 is, somebody can correct me if I'm wrong. You can look it up, it's pretty easy. But 80 is gigabytes. So it's a decent amount of space. It's a small investment, but with how big hard drives are these days, it's not too awful, I guess. So if that's what you want to do, you're probably going to want to go with Simple Mode Bootstrap or Advanced Mode. And Advanced Mode just kind of lets you choose all the different things that you want to do. Simple Mode Bootstrap has fewer tweaking needed, but it still does put the blockchain onto your computer. Simple Mode does the other way of connecting to the blockchain, which is basically this idea that you don't have the blockchain on your own computer. So you have to connect to somebody else's computer who is available to the internet and you access their blockchain. So when you need to send a transaction and you need to kind of do the whole ring signature thing, you take stuff from them. You still have to scan the chain for your transactions, but you don't have to download the whole thing. So you're basically scanning somebody else's version. You don't have to have it on your own. This is so that way you don't have to use a bunch of bandwidth to put that all on your thing and also so that way you don't have to store it yourself. For most people, unless you really want the blockchain, you could just go ahead and click Simple Mode and it's going to take you and connect, it's going to find one of those and connect automatically the one that's going to be the closest to you. So I'm going to go ahead and click Simple Mode and it's going to take you to this thing. It's like, okay, are you sure? Just be aware. Just be aware. This is not the most private way that you can do it. Remote nodes could compromise some privacy. Let me go ahead and make this a little bit bigger. Wonderful. So we've made the window bigger, but we haven't scaled the text at all. I don't know if this is readable on the YouTube. I don't suspect that it is. Okay. We're just going to go ahead and move forward from here. You can ignore this. I'm going to go to Advanced Mode because I already have a local remote node set up that I'm going to connect to at my own place. So, but we're just going to pretend that you pressed Simple Mode and you press Yes, I understand these consequences and then you're going to come to here. Create new wallet, create new wallet from hardware, open a wallet file or restore wallet from keys or mnemonic seed. So these are pretty self-explanatory. Create a new wallet is what we're going to go through in just a second. That is going to let you create a brand new wallet, hooray. Create a new wallet from hardware. I'm certain if you've been in the blockchain space for any length of time, you've probably heard the names Trezor and Ledger. These are hardware wallets that you can get and they keep the keys on the hardware device and in theory, they're supposed to be hard to extract if not impossible, which, and it helps. So that way, if you do have a virus on your computer, if you have a key logger, if you have any of these things, they really can't steal your Monero because all the keys are stored on the hardware and you need the hardware to be connected in order to send a transaction. So if you have access to one of those devices, you have one of those devices or you want an extra layer of security, Monero does work with both Trezor and Ledger. So this is how you would make a new wallet if you were connecting it with the hardware. Open a wallet from file. So after you make a new wallet, it gets put on your file system. And so if you have multiple wallets for whatever reason, your wife has a wallet, your husband has a wallet, your dog has a wallet, and all of you guys have separate bank accounts, so to speak, right? You can click on this and navigate between wallets if you have multiple ones on the computer. Restoring a wallet from keys or mnemonic seed in just a second, when we create a new wallet, we're gonna see what a seed looks like. It's basically 25 words that we're going to need to write down. And if your computer dies, if your phone dies, wherever the wallet is stored, you will be able to get your Monero by clicking on this option and typing those seeds in. And I will greatly stress the importance of seeds here in just a minute. They're extremely, extremely important. Is this bugging people that you want it more in the middle? I mean, yeah, okay, we'll put it more in the middle. I don't know, maybe some people are annoyed by that. So we're just gonna go ahead, you can go ahead and ignore these ones right here. Change wallet mode that just takes you back to simple advanced whatever, and change language is pretty self-explanatory. So we're gonna go and create a new wallet. Okay, first thing we're gonna find out. So on this virtual machine, I just named it funsies, just because this is for funsies. And there is a wallet location. So this is where your wallet is actually gonna be stored. You can click browse and change where that's going to be. Okay, so you can give your wallet a name. So I'm gonna call this defcon new. You can name it whatever you want, right? Now we get to this thing, the mnemonic seed. And this is the single most important thing that you're going to do when you make a new wallet. You need to write these words down. You need to get out a pencil and a paper, 10 papers and write these words down. If you lose your wallet, meaning your computer dies or it explodes, your house catches fire and you don't get to save anything, anything could happen. If you lose your computer, if you lose your wallet, but you have these words, then you have your Monero. If you lose your wallet and you do not have these words, then you have lost your Monero and nobody can help you get them back. Okay, these words are like a human readable representation of your private key. So if you do not have these words, you don't have your Monero, okay? And further, if somebody else sees these words, they now have your Monero. Your wallet has no way to distinguish between whether that person is the actual owner of the wallet or not. All they know is, okay, they have access to these words so they can spend the Monero. If you have these words, you can spend your Monero. So you need to write them down. It's not recommended to put them digitally because what happens if your computer gets hacked or any number of things, right? And it's important that you have more than one of these in a very safe place because if you only have one paper copy and it gets burned up or something happens to it or there's a flood, then you have lost your Monero. You must, must write this down. Do it now, do it now. And for this particular presentation, I mean, I just pressed brand new. So if I click back to menu and create a new one, you're gonna see that it's a new set of seed. It's a new set. It's just gonna be different every time. So I would not recommend writing these down. I also would not recommend using the wallet with this seed for anything because now this is available to the public. This is available on YouTube, on Twitch. And if anyone's writing this down hoping, okay, Diego's gonna be sending money to this wallet to prove things and I'll just steal it because I have the seed, haha, you're mistaken. I have other wallets set up that we're gonna do that for. So write this down. Don't send to this one, don't send to this one. Wallet restore height. What does this mean? This is basically, so Mineros chain is really, really big. I told you it's several, several gigabytes large. And if you make a brand new wallet, if you make a brand new wallet, why would you want to scan the whole chain to see if you have any transactions? Because in theory, if it's a new wallet, you have no previous transactions. If you're restoring a wallet, then maybe it's important. But for a brand new wallet, it's not important. So we're telling it, okay, start two million blocks up. Don't start at block zero, start two million blocks up and the GUI is gonna choose something to you relatively close. Okay, so we're gonna go ahead and click next here. This is where you're gonna put your password. Okay, if you forget your password, but you have your seed, then you have your Minero. If you forget your password and you don't have your seed, you don't have your Minero. So the seed is the most important thing, write it down. The password is to make sure that anyone who gets access to your computer that maybe shouldn't have access to your computer can't send your Minero away or something. Because it doesn't require you to put in your seed every time. And we'll see that in just a moment. So I'm going to go ahead and click next. You can put no password here. I would not recommend it, but for these purposes is what I'm gonna do. I do have a bootstrap node. So just one second, this should have been already filled in, but it's not. This is a little annoying. Just one second. This is where I have put my temporary node. So now you all know where that is. Fantastic. Uh-oh. No, connect to a remote node. Do it here. Do it here. Okay, create wallet. So here's where you'd be putting in your password. If you had one, I just press okay because I didn't put a password for this. And you come to this screen and you see okay. Now we're scanning, but it's not from the beginning of the blockchain. It's just from like block 2 million and bam, it's done. Super quick. This would have taken a long time, hours probably if it was scanning from the beginning, but once it scans, once it doesn't have to do it again. So if you do scan from the beginning, then after it's gone through those hours, the next time you open your wallet, it won't have to do that process every single time. It's just that once. So we've got several screens over here. The GUI starts you out on the send screen. And as you can see, this is where you're gonna put the address that you wanna send to, the amount that you want to send, your transaction priority, which determines the fee that you give the miners, the higher the fee, the more likely you're gonna get in unless the blocks aren't super full, in which case pretty much everybody's gonna get in. So if we click on this, you can see slow, normal, fast, fastest. These are like how much fee you can put. Monero also has this cool thing where you can add a description just for your personal thing. So when you send a transaction, you're like, oh, I sent this to my cousin for this reason. And so you just know what everything's for. We also have an address book. So if you're paying an employee and you do it consistently every month, you can save their address here so you don't have to ask them for it every time. Why would we want to do that? Well, if you've never seen a Monero address before, let's go to the receive screen. And this address is very, very long. You can't see it here because it's truncated. So actually let's go ahead and open up a notepad. Boom, this is what it looks like. Okay, this is a Monero address. It's very long. It's very, very, very long. So you can't call your grandma and be like, okay, grandma, here it is. It's four, five, lowercase p, lowercase h, lowercase p, uppercase l, right? You can see how that's gonna be prone to errors and stuff, so really gotta copy and paste it in every time. You gotta ask for it. So the addresses, saved addresses on your address book is gonna help with that. You also have a QR code. This is the same thing as this. So if you scan this QR code, we do have mobile wallets available. Cake wallet for iOS and Android and Mineruyo for Android as well. You can go ahead and scan that and send to it rather quickly. Transactions, it's gonna be a list of transactions because this is a brand new wallet. We don't have anything here yet and I'll show you one of the other wallets that I've made here pretty quick. Do-do-do-do, advanced for the most part. We're not gonna cover those. It's outside of the scope. I've only got about 15 minutes left and we still need to do some things. So, but you can mine from this. The only one we are gonna touch on is this prove and check. This is how we're gonna prove a transaction and we're gonna get to that in just a minute. Settings is where you adjust some things in the wallet and you can go ahead and click around those and see for yourself. Accounts, we're not gonna go ahead and worry about accounts for now, but there's just this idea that you can generate multiple sub addresses which are addresses that link back to this one address. So you can make multiple sub addresses that all go down to this one thing and you don't have to have new seeds or make new wallets or anything like that. You can also do this from the receive screen. Create new address. What is this? This is sub address one. And my narrow addresses start with four. Sub addresses start with eight and you see that the QR code changes every time to match the thing. Okay, so this is the new wallet. We're gonna go ahead and push this aside because we know the seed for this wallet. The seed is for everybody. So we're gonna go ahead and push this aside and I'm going to grab some other wallets and bring them onto the screen. And here we have DEF CON send and DEF CON receive. Let's go ahead and put this this way. Both of these, you don't know the seed for them. That's the point, but they do have some monero on them. This one has three monero on it. This one has one monero and we're gonna go through a couple of the flows. Before I move on, let's see if there's any questions. Blah, blah, blah, blah. What about JavaScript? What about JavaScript? I don't understand. Okay, I think we're good. Alrighty, so as we can probably tell by the names of the wallet, DEF CON send is going to be sending to DEF CON receive. So how we're gonna do that, it's as simple as this. You can, on the wallet that you want to receive from, so if you are the recipient of money, you're going to go to receive, you're going to copy this. If you press this icon, it copies the address to clipboard or you can give them this QR code, which you can save as an image or also copy that to clipboard. And on the wallet that's send, if you're the sender, you're gonna go ahead and paste this in here. Now you want to double check the address because there is malware out there that will replace the address in your clipboard with their own. And you want to double check that. You want to make sure that you this address didn't get replaced. So you don't have to do the whole thing. So in this case, we see 47BXR3PB and if we look here at the recipient address, we indeed see 47BXR3PB, MKWI, MKWI and this truncates it, but it also has some at the end. You know, the last four are L, Q, C, W. If you want to be 100% sure that you're sending to the correct address, you verify the entire thing. Most people, like if you just do the first four and the last four, that's probably too little because it may be easy for somebody to generate something that looks similar. Verifying any of them is better than nothing, but you know, verifying the first, maybe 10, 16, the last 10, 16, it's, the more you verify the harder it is for somebody to kind of cheat you and make it so that way you don't know what's going on. So we went ahead and put this in here. We can go ahead and add this to our address. If we want to, I'm not gonna go and do that, but you can go ahead and do that. If you click this, it'll take you to the address book. You know what, I am gonna go ahead and do that. I'm gonna add an address and this is Diego. He's so cool. All right, so that's what this is added as. So now from the address book, I can actually click on this and it will auto fill on the address here. It'll auto fill that. So I'm gonna go ahead and send DEF CON receive one Monero. For the most part, I'm gonna, we're just gonna, like automatic on transaction priority is gonna be okay for 99% of the time. I don't recommend touching this unless you know what you're doing. Advanced options, we don't really need any of this, so let's not worry about it. So now it's creating the transaction. It's building the ring signature, getting the cryptography ready, all this stuff. It's like, okay, this is where you're sending it to, this is the amount, this is the fee, here's the ring size, here's the description, is all this sound good? Yes, okay. It's gonna prompt you to put in your password, which if we had one, I'd put it, but we don't, so I'm just gonna press okay. All right, Monero sent successfully is what this says because I think it's a little too small and blurry for everybody to see. Monero sent successfully and then it's got this huge long string of alphanumeric string. This is your transaction ID and we're gonna come back to this when we prove transactions, but basically you can go to a block explorer, Monero block explorer and put this in there and we can see when it comes out. Okay, so I just sent one Monero and if we go to transactions, we can see, you've seen here on the transaction screen, you can see that I have put some Monero onto this wallet for these purposes. These are the past transactions. I sent one XMR 28 seconds ago to this address. And boom, look it, oh wait, no, this is the one that we have already that was already on here. If we click on transactions, you'll see, ha ha, we do have one. This was the one that was already on here, but this was 46 seconds ago. The reason it's not showing up here is because it needs to be included in a block first. If you don't understand how a blockchain works, transactions need to be included in blocks, which then need to be mined and da da da da da. There's a lot of great resources out there that talk about how a blockchain works from the ground up. I would recommend giving it a look, but all of that isn't super important right now. Monero's block time is two minutes, which means that the average amount of time it takes to find one block is two minutes. So this will be about two minutes, but it may be more, it may be less, it depends on the luck of the miners before this is gonna start showing up here. So that is the send and receive flow. It's really not difficult. If you wanna be the sender, you just gotta know the address. You gotta know how much you're gonna send to them. You can send all of your Monero there if you want and set a fee which automatic is gonna be okay most of the time. If you're the receiver, you're going to either copy the address and give it to them, double check that it wasn't replaced, or they can scan this QR code, which you can save as an image and send to them or whatever the case may be. In all cases, you're gonna wanna check to make sure that the alphanumeric string was not changed and the QR code was not changed. You just wanna make sure that it's gonna go, actually go where you want it to go. Because if you accidentally send to the wrong address, you have no way of getting that money back. There's nobody to call. There's no customer service. There's nobody who can get it for you. It's all cryptographically enforced and nobody can save you. So we're gonna go ahead and prove a transaction really fast and I hope this goes well. I hope this goes okay. This is the reason why I put a previous transaction of one because I don't wanna wait for this one to come into a block. So before we start proving. So this one was sent three hours ago and we're going to prove that this DEF CON send did in fact send to this DEF CON receive. So if you imagine that DEF CON receive is a merchant and DEF CON send, they purchase something in Monero from that merchant and the merchant says, oh, well, I didn't receive this Monero. I didn't get it. You can prove that you did. So let's go ahead and go to advanced and prove check and here advanced proof check as well. So we need the transaction ID. So actually let's go back to transactions. This was the one that I sent prior. And if we click on this, we see that there's details that drop down. Here's the transaction ID. You just find what's labeled transaction ID and we just left click on it and it automatically copies it to clipboard. Great. So we're gonna go to advanced proof check and paste in this transaction ID. Let's just double check that it's correct. A, eight, nine, B, B, six, four, blah, blah, blah, blah. Yeah, it's all good. The address, we have to know what address we sent to. Once again, if you go to transactions, it has in the data about the transaction at the bottom, it has the address to send to. It's this one right here. So we're gonna go ahead and copy this and put it in this proof check. Now you can put an optional message here and this is just an extra kind of fail safe, but the other person has to put this exact same message, otherwise it's not gonna check correctly. So we're gonna go ahead and put defcon as the message here. Now we're gonna click generate. Now, once we click generate, it gives me this payment proof, this thing that starts without proof V1, something, something. Okay. So we're gonna copy this double tap to copy the clipboard and we would send this to the recipient. We would send this to them and say, this is the proof, this is the proof. Okay, now I'm the merchant. I wanna say, okay, Diego says he sent it to me. For some reason I'm not seeing it or I don't know. Okay, let's go ahead and check this out. So we're gonna scroll down to the second part, check a transaction. The first thing we're gonna do, we're gonna paste in the signature, the out proof, something, something, something that it gave to me. Okay, the transaction ID, I'm just gonna copy it from here, but the transaction ID is a public thing. It's known to everybody. So sharing this, or you can get it from the Block Explorer or whatever. It's not a big deal. We're gonna put that here as well. The address, I know what my address is. It's the address that I told them to send to me on. Oh, by the way, the other one has popped up now. So we have one, not two. And the message, if we put an optional message, once again, it has to be the exact same thing. So I have to put DEFCON or whatever it is that they put. And we're gonna click check. And it says, okay, this address, if it's too small for you guys to read, it says this address received one Monero with 107 confirmations. This says you did indeed receive one Monero and there is 107 blocks on top of it. So you can look 107 blocks back and that's where you're gonna find it. If any of these things is incorrect, so if we put an incorrect here and we click check, it's a bad signature. That's what it's gonna say. It's gonna say nope, this isn't real, this isn't correct. So if the signature is not right or the address is not right or the transaction ID is not right, all of that stuff is gonna be incorrect. It's only when everything matches 100% which because everything is cryptographically generated, there is zero chance that if you put in everything correctly, the transaction ID, the address and the message and the signature that it will say bad. It's only if there's like a big flaw in the software because all of the cryptography checks out, it's mathematically enforced. There's no way for somebody to, there's no way for like a merchant to cheat you out and say no, I didn't receive it. When you're watching them put in the ID, the address, the message and the signature and you verify that everything is correct, there's no way that this will be incorrect. So the address received one Monero. Great, awesome. So that's how to prove and check a transaction. Not all wallets, so most mobile wallets and stuff come with this capability. So if you do need to prove or check a transaction, then you know where the ecosystem is still developing and blah, blah, blah, blah. But there is a way to do it. There is a way to do it. And that's what I just showed you right here. That's the basics of the Monero wallet. As we're closing in, I got four minutes. That's the basics of Monero wallet and how it works. The last thing I'm gonna talk with you about is that this one Monero that I received, it's not yet spendable. You can see it says confirmations six out of 10. The Monero protocol kind of has it so you have to wait 10 blocks before you can spend it again. And that's just a safety precaution to make sure that every organization doesn't ruin your transaction. And if that's a little technical, then I apologize, I don't have time to get into that at the moment. So are there any questions from anywhere? Can you please make the wallet a little bigger? Thanks, I'm sorry, I wish I could. But as you can see, when I make it bigger, the white space gets bigger. And the rest of the stuff doesn't. It's probably because the DPI of my monitor is too high, unfortunately. I don't know if there is a way to increase the size. Let's go, let's check it out. Settings, interface. Yeah, there's no way to change the size in there. You'd have to change it like the windows settings auto save, lock ball on an activity. No, there's currently no way for us to make the interface bigger. That's something that should probably be there. We can talk with the people, maybe I'm just an idiot and it really is there and we can't, and I just don't know. Yeah, so I do apologize for everybody. I do apologize everybody that the wallet transactions are so small. I hope you're able to squint and get a little bit of an idea. At the very least where the general things are supposed to go. It's pretty self-explanatory where all the things are very neatly labeled. So hopefully this was marginally useful. If you get nothing else from this talk because everything is too small, write down your seed. Write down your seed. Remember that thing at the beginning? Those 25 words, write them down. Write down your seed, write it down. If you have your seed, you have your mineral. If you don't have your seed, you don't have your mineral. Write it down. And that's basically it for me, guys. Hope it was useful. Glad you all came. This will be available. You know, I'll probably record myself doing this a second time where you can actually see things that they're not too small. And we'll try to make that available on the Monero Community YouTube channel that you're watching this on. So if you are still confused because you couldn't see anything, then be watching out for that. Hopefully like within a week or so, we can get that done and get that uploaded. That's it for me, ladies and gentlemen. We've got a meme competition coming up here fairly soon. I'm gonna stop sharing my screen and so you can see my lovely face. Hey, this is the guy that's been talking to you this whole time. Diego Sousar, Rabar.