One of the most daunting aspects of getting into crypto for beginners certainly is learning how to manipulate wallets, especially the most essential part: keeping it safe. Now if you read any forum on the internet you will get the same advice: buy a hardware wallet. Yes, it seems that this is the preferred method, so, if you can do that, do it, by all means. But, if you are like me, that like saving every penny (as Warren Buffett says: "Investing rule #1: don't lose money; rule #2: never break rule #1"), I will talk here about a method that is safe and cheap.
This method, however, takes a bit of caution and knowledge. I don't recommend trying this if you are a complete noob when it comes to computers. But if you have some basic knowledge of how computers work... well, at least that's how I keep my savings. (Note that we are going to prepare a wallet for ETH, BAT and other ERC-20 tokens, not for Bitcoin -- although analogous solutions do exist.)
The first thing you need is an old computer. In my case I had an old PC that I never used, so it came in handy. If you don't have one, maybe that should not be your method of choice. The point is: you need a machine that is not connect (and is not going to be connected) to the internet. This is what they call "air gapping" -- our wallet will be physically isolated from the internet, so it will be very hard for any threat to steal your funds.
Just a parenthesis here. As someone who works with IT, I can tell you: every system has vulnerabilities. There's no failsafe method. We can only make the life of a hacker/bad actor more difficult, but not impossible. Even the blockchain, that some people talk as if it is invulnerable, is amenable to attacks. Even though breaking SHA-256 is nearly impossible, if more than 50% of the BTC nodes decide to act maliciously, for example, there's little we could do. That is to say: be it in the bank, or in a hardware wallet or using this method here, your funds will be vulnerable to a certain extent. Life is a risk. What we will try to accomplish here is to use a method that will very unlikely leave your money exposed.
So, back to our tutorial... Take your old computer (or a new one, as long as it is permanently offline), and format it with Linux. This already reduces the risk of viruses or malwares a lot (again, it is not immune but I can tell you, the only time I got my email hacked was using Windows on the computer of a friend). Installing Linux nowadays is very easy (and free).
Now, in your online computer, download the current version of myetherwallet.com from their Github repository (you can find the link in their website). Attention in this step: a very common way of getting your wallet stolen is by phishing: a fake website disguised as the original one fools the user into giving their sensitive data. So make sure to get it from the correct link: myetherwallet.com -- take care with typos. You should see a sign in your browser saying the connection is safe (and the company name: MyEtherWallet Inc [US]). So from that website you go to their Github, and from there you obtain the latest release (the image below is from the latest release at the time of writing, if you are reading in the future there might be a new version -- make use of it).
It is basically a website that you are going to use offline. Copy it in a flashdrive to your offline computer and extract the compressed file. Then, you can open the index.html file, which will bring you to the client-side interface of myetherwallet.com. You will see some network errors because you are offline, but that should not be a problem.
Now, click on "create a new wallet", read all the tips and click next, next... then choose the "Mnemonic Phrase" method. That is my favorite method because you will only need to remember 12 words in order to recover your wallet from anywhere in the planet. This means that, even if all your devices are burned or stolen, you will still have access to your funds, as long as you remember the 12 words. Click in "random" to generate some new combination and stop at some combination that you like, then, VERY IMPORTANT: write down the words IN THE CORRECT ORDER in a piece of paper. This paper should never be seen by anyone, and obviously you cannot lose it. If you forget these words and do not have the paper anymore, you will never be able to access your money again. Bye bye. There's no "recover password". So take care with that. Keep backup copies. But important: do not save this in a file, and do not put it in the cloud (email, etc.). If someone find your 12 words, they will be able to steal all your cryptocoins from the wallet.
So, once you wrote down these words, you will be requested to repeat them, and then to login. You will see messages of "not recommended", but that is only if you are doing this in an online computer -- which you are not, right? So you choose "access by software", fill in your 12 words and confirm.
Now, a list of public addresses will appear. These are the addresses that you can give to people that want to send you crypto. Most people just choose the first one. Then click on "access my wallet".
Congratulations! You opened your wallet. Now copy the address and save it. This address can be saved in your email and multiple files across different devices.
That is it! Now if you have bought cryptocurrency via an exchange you can, for example, send ETH, BAT or any other ERC-20 tokens from there to this address.
Once you saved your 12 words and your public address (which is not really mandatory but it's easier if you save it), you can burn down your old computer and you will still be able to access your ETH/BAT/ERC-20 tokens. Now if you want to access your wallet again, after many years or months, it might be good to have your Linux system updated, and for that you may have to use the internet. A safe way to do that is to format your computer, update all the necessary software, and then disconnect it from the internet (until the next formatting). Then you do the same procedure: copy the most recent version of myetherwallet.com website, etc...
Soon I will be posting how to make safe transactions using this offline wallet.