This will be a quick overview of how to download and run a paper wallet generator that you can use to create a Ravencoin paper wallet.
This guide consists of the following sections:
Download and Installation
Generating a Ravencoin Paper Wallet Address
Viewing Your Ravencoin Paper Wallet Balance
Viewing Paper Wallet Balances in Your GUI Wallet
Sending Coins from your Ravencoin Paper Wallet
A paper wallet allows you to store your coins in a supposedly more secure manner than other means, with the main security benefit coming from the fact that your private keys are never stored on a machine that is connected to the Internet. Some people prefer this method to other (less secure) methods such as a Desktop GUI or using a online wallet, especially when storing large sums of money. However, like with all things, simply using a paper wallet is not a sure-fire way to protect your coins, as there are other security factors to consider as well.
This guide is not going to get into all the pros and cons of using paper wallets, but do keep in mind that how secure your paper wallet ultimately is depends on how much effort you take to make it secure. I will briefly cover a few basic security measures in this guide, but it comes down to basically these few things:
- Do you trust the computer and printer your are going to use to run the software? Is the computer Virus/Malware free, directly connected printer, and not connected to the internet?
- Do you trust the software? Is this software safe, is the USB stick you use clean?
- Do you trust the environment your are going to perform the process in? If in a public place (bad idea) make sure there is no one to look over your shoulder or even take a picture of your private key, computer and printer secure.
- Where and how you store your finished paper wallets. Multiple printed copies, laminated, and stored securely in a fire/theft proof safe, or even off-site using the same precautions.
While this guide is written using a Ravencoin paper wallet as an example, the paper wallet generator can be also be used for other coins. So you can follow along and substitute your specific coin for any Ravencoin specific references in this guide.
Also a quick disclaimer, while this guide is written with the intent to provide accurate information, you are using software beyond my control, as well as performing many steps that require a great deal of care to secure your coins. Cryptoyeti is therefor providing this information “as is” with no guarantees and it is ultimately up to the user to exercise their own due diligence and care in securing their own data and private keys. In all cases, first experiment with small amounts before moving on, making sure you can not only receive but send coins off the paper wallet before moving on to larger sums.
To start, head over to the todd1251 GitHub page that hosts the files needed to run the Ravencoin paper wallet generator.
You may want to take some time to look the site over and even review the source code, as it is ultimately up to you to decide if the paper wallet software is safe to use or not. There are other paper wallet generators available, this one just happens to be compatible with Ravencoin, so that is why I chose it to use as an example for this guide.
While I have used this wallet generator myself, this does not mean I am endorsing or recommending others to use it. I am only using it here as a means to demonstrate the basic concepts of creating a paper wallet for this guide.
Once you arrive on the todd251 GitHib project site, look a bit down on the page near the right-hand side for a green Clone or download button.
Click on this button to be presented with another dialog and then choose the Download ZIP option.
If you decide that you trust and want to use the paper wallet generator, you will need to download the wallet generator ZIP file to your local computer, this helps to ensure the keys that you generate are secure as they will only exist on your local computer.
Download the ZIP file to somewhere convenient such as your Downloads folder in Windows. Once the file is downloaded you will need to extract it. It may take a minute or two to extract all the files depending upon the speed of your machine. Be sure to extract the file somewhere you can easily find it again, such as to your Desktop.
Alternatively, if you are going to use the generator on a computer that is not connected to the Internet you can extract a copy of the generator to a clean USB drive. You can learn how to wipe and format a USB drive in my article here.
Open up the folder you just extracted the wallet generator to and you should see a list of files. We will want to open the index.html file.
It is recommend to use a secure browser such as Firefox or Chrome, so instead of double clicking on the file name, you can instead right click on it and choose “Open with” and then pick the browser you want to use. For this example I used the Chrome browser, but Firefox works fine as well.
Once the index page opens up there will be several things you will want to take note of using the above image as an example.
The first is that you will need to move your mouse around the page to help generate some “randomness” that will be used to generate your future keys. You will see a countdown number as well as a progress bar to show you how far along you are in the process. Just randomly move your mouse around the screen for 10-15 seconds or until the progress bar fills up.
You may notice green dots appearing as you move your mouse around, this is normal and is just a graphical way to show you your mouse movements during the process. Don’t worry, they will go away when the process is completed. If you for some reason you feel you weren’t random enough, simply reload the page to start over.
Near the lower-right of the page you will see a Security Checklist section. This shows you how secure your keys potentially are. Note that I am using Windows, as I expect most of my readers will be, so the last checkpoint is not green, meaning a potentially less secure key. For most purposes this is still quite good security, but for the ultimate in security it would be best to download this onto a flash drive and then use a laptop to boot into a Ubuntu Live CD as suggested. Make sure at least the first two checklist items are green before moving on with the guide.
It is also recommended that you are fairly confident the machine you are using is free of viruses and/or malware, that you have up-to-date patches, and a good antivirus program is in place. You can even unplug the machine from the Internet during the process if you want, and also be sure you are not near any windows or in a public place where others could potentially see your screen. They might not have a photographic memory but they might have a cell phone with a camera that could catch a glimpse. Paranoid, you bet. But in this case the more paranoid you are the more secure your private keys will be.
Moving on, once your are done providing randomness, the page will change and you will see a Public Address and Key on the page similar to the image above. DO NOT use the addresses or keys that first appear as they are defaulted to a Bitcoin address. You could use them if you need a new Bitcoin address I suppose but this is NOT a Ravencoin address. Even if you did want a Bitcoin address I would recommend hitting the Generate New Address button a few times first.
NOTE: On your screen you will have the actual addresses appear, but I blacked them out on the above image so that no one would mistakenly use them from my website. I suppose you can use the QR codes, but be warned this example address is compromised and should never be used by anyone for anything.
Instead we will want to go to the upper right-hand corner and use the Drop down box to find and select Ravencoin as shown in the image on the left. Note that you can also choose any other coins you want to make an address for with this process. Since this guide is for Ravencoin, that is the option I chose.
Now we have a valid Ravencoin wallet address and associated private key. You can confirm you selected the Ravencoin option by the Ravencoin displayed in the currency drop down box along with the Ravencoin logo that appears on the top left.
I highlighted a few key points about the page in the image above. The first is you can generate as many address as you need, so hit the Generate button multiple times if you want to cycle through some address. While it offers no additional security, I like to hit the generate button a bunch of times before settling in on an address I would like to use.
You can use the print button to print your new address/private key combo to a printer. However, this opens up a lot of security risks so be sure you take proper precautions. The best option is to use a directly attached printer via USB or even a parallel port (do they still make those?) to your computer or laptop. A network printer may expose your wallet and key to other users either through the transmission across the network, or it may get stored in the printers buffer or cache memory. Never connect to a printer using a wireless connection on either end, either through your laptop’s wireless or to a wireless printer. Wireless is about as insecure as you can get even with encryption.
If you do have a network printer in your own home, and it is not wireless nor are you using a wireless device to connect to it, and further you feel your network is generally secure, it may be ok to print your wallet to it, just keep the risks in mind. I would never store a lot of value on such a paper wallet, but it may be fine to use to give out to family and friends as small value gifts.
The other points I wanted to quickly go over are the address and private key.
The public address on the left is the same as any other cryptocurrency address you have encountered, and it is safe to share with others or to use to receive Ravencoins with, keeping in mind the points we discussed above.
The private key on the right is to be kept secure and not shared with anyone. Basically the private key is your coins and anyone, anywhere, who has access to it has access to all of the coins contained in its address. You will need to guard both the text form and the QR code as either will provide a way to gain access to the coins the private key controls. I have blacked out both the key text and the QR code above to illustrate the point, but I will never use this address regardless as it is just for an example.
Once again, what you are protecting is your Private Key (marked Secret) and the associated QR code. These need to remain secret and secured at all times, as even one compromise will likely means you will lose any coins stored on the wallet.
Since your paper wallet was generated offline, and you are not using a typical client that can display your balance, how do you tell how may coins a particular address has?
Simple, you will need to use the coin’s blockchain explorer. You can type in your public address (again, never expose your private key) on a blockchain explorer such as the one for Ravencoin at: http://explorer.threeeyed.info/
Using the example Ravencoin paper wallet address I created above, I sent 1 RVN coin to it to test so you can see a balance for this example (shown above). I will leave it there unless the price of Ravencoin really takes off. 🙂
You can view it for yourself by going to:
Similarly, you would input your own paper wallet public address to see your own balance(s). I would recommend sending only very small amounts at first to test your new paper wallet before sending any large amounts to it in order to make sure everything works as expected.
Another Ravencoin block explorer can be found at: https://rvn.hash4.life/ in case the threeyed link is down.
There is a second method where you can import your public address into your Ravencoin GUI wallet that will keep track of your balances, but will not let you send the coins since it does not control your private key. This is known as read-only mode (or watch-only in the GUI).
We will be using the importaddress function within the GUI console to add the paper wallet public address in order to watch it. Again, this is for convenience in keeping track of the balance, but it does not allow movement of the coins, those are still safe as your private key has not been imported yet. Also, be sure you do not mistakenly use your Private Key this step only requires your public key to work.
To get to the console in the GUI wallet, go to Help -> Debug window and the click on the Console tab.
You can then type
help importaddress to get an overview of the command, as shown above.
I will be importing the paper wallet test address used above, so I will enter the following command in the console:
importaddress RX29JPgDqrbbfhAhuBLT5HmPHM1pLiezH4 PaperWallet_Test and hit the enter key.
Now your GUI wallet will start to rescan the Ravencoin blockchain looking for any transactions corresponding to the new “watch” address you have just entered. This may take a few minutes to complete, depending on how big the blockchain has grown at the time of the rescan process.
When the rescan has completed, you will have a new column with “watch-only” addresses as shown above. This is to differentiate between the Ravncoins your wallet has control over, meaning they can be spent, and those that it is only monitoring such as your paper wallet addresses.
Note that for this guide I am using a new GUI wallet with no coins in it, which I also recommend to you if you are new to all of this.
Paper wallets are mainly designed for secure long-term storage of coins. For the most secure wallets, you can use a dedicated offline laptop and run a OS directly off a CD such as Ubuntu LiveCD. You would also use a directly attached printer to print out your wallet addresses and private keys.
However, no matter how many security steps you take, you will eventually want to move your coins off of your wallet and send them somewhere. This section will cover that process.
At this point you will need to use a wallet that can connect to the network. This can be either a CLI, or desktop GUI type of client, or it can even be a web-based online wallet. For this example I will be using the Ravencoin QT GUI wallet covered in an earlier guide here.
Make sure your wallet client is open and synced up to the block chain. We will use the importprivkey (Import Private key) command from the console. Do not confuse this with the import address command we used with your public keys earlier in the guide, this is the ONLY time you will ever expose your private keys, as you need them to authorize the transaction.
To access the console in the Ravencoin QT wallet, go to Help -> Debug window and the click on the Console tab as shown above.
We will be using the importprivkey command to import our paper wallet private key into this GUI wallet, so you can type help importprivkey to view its syntax and proper use. As you can see from the command output shown above, we will need two things: The private key from the paper wallet and a (optional) label.
While you do not technically need a label, using one will help you determine what the address is for since the key is now going to become part of this GUI wallet just like any of your other addresses. The last option rescan instructs the wallet to rescan the blockchain to look for transactions related to your new private key. It is boolean and by default true, meaning if you don’t type anything it will be included by default. If for some odd reason you did not want to rescan you can type false at the end to negate this command.
So with this information we will perform the following steps:
If your wallet is encrypted (which it should be), you will first need to enter your passphrase in the form of:
walletpassphrase passphrase timeout. Make sure the timeout (in seconds) is long enough for the next step, 180 seconds (3 minutes) should be enough.
walletpassphrase passphrase 180 and then hit enter. You will now have 3 minutes to perform the next step, if it happens to time out your can simply run this command again and add more seconds if you need to.
Then type in:
importprivkey your_private_key PaperWallet where your_private_key is the long alphanumerical number located on your paper wallet labeled secret. PaperWallet used here is simply the label so it can be anything.
importprivkey 1234567890abcdefghijklmnopqrstuvwxyz1234567890 MyPaperWallet
Once you have the command entered by carefully typing in your actual private key from your paper wallet, hit the enter key and the wallet will import your private key and will rescan through the blockchain for matching transactions.
This process can take several minutes depending on the blockchain size.
When the rescan process is finished your coin balances will have been imported into the wallet and be ready to send just like any other address you may already have in your GUI wallet.
After this point, while your paper wallet would still be technical usable, since you transferred the private key into a normal wallet there is no point in using it anymore, as any extra security it provided is lost and is no more, or less, secure than the rest of your wallet.
Another tip, I would plan to transfer the entire contents of the paper wallet in two transactions, the first a small test amount, maybe send one or two coins to confirm they end up where you expect, and the second transaction would transfer the remaining balance.
Mobile Wallet Option
Alternatively to the above, if you use a mobile Ravencoin wallet with a scan feature, you can just simply scan in the Private Key QR code and make life a lot easier. Since sending off a paper wallet is often a one time event, you can even use a temporary mobile wallet to make it easier and not worry about compromising your other keys int he process. Simply import your private key by scanning the QR code and then send the coins off to a new address right away so they are only vulnerable for a short while.
As you can see, by using the paper wallet generator, creating a Ravencoin paper wallet is not hard. By following some common “best practice” security measures, you can generate a reasonably secure wallet that you can use to store a large amount of coins.
I would recommend that you generate several paper wallets first, and practice using them until you are entirely comfortable with the entire process. Not only creating and sending the coins to the paper wallet, but also viewing the contents on a block explorer and most importantly, that you are able to import the private keys later on to a GUI or other wallet so you can move the coins off of the paper wallet.
I also recommend you use a new temporary Ravencoin GUI wallet for your import key testing so as to not put any of your other coins at risk in the event something would go wrong. The Ravencoin blockchain is currently small enough, that you can download and install a test GUI wallet in about 20 minutes (including blockchain sync time).
Ravencoin is new and cheap right now, and since the transaction fees are so low, you can literally play around with fractions of a cent while perfecting your paper wallet skills. You can practice sending 0.1 RVN to several paper wallets and then practice importing the private keys and getting the coins back off again. With Ravencoin trading at 3 cents currently, you can almost test for free by using transfers of 0.1 RVN to several practice wallets, and if you mess up the first couple of times you could probably recoup your losses by walking down the street and picking up the first penny you see.
Some people might want to overlook this advice, but in my opinion it is far better to mess up a few pennies worth of transactions then skip over the practice and find yourself down the road with a private key containing several hundreds or thousands of dollars and unable to reclaim them. I would practice all the various steps in this guide until you are fully confident in how to perform them all and the procedures become as familiar as tying your shoes.
I hope you found this guide useful and as usual, please leave any questions or comments below.