What the Heck Is KeyStore?

If you tried out Leodex.io yesterday after its relaunch and repurposing, you noticed this:

The only way to connect your wallet right now is by using a Keystore file. Next will be implemented XDEFI not long after that, and in the end, support for Metamask will arrive (but Metamask doesn't have support for Thorchain/Maya).

I imagine most Hivers have no idea what a Keystore is, how to work with it and what are best practices to working with one.

Being on Thorchain for some time, I got used to them, and they are easy to understand once you grasp the main idea. And most importantly, they are supported on many blockchains, and certainly the most important ones.

From the list of blockchains you see in the screenshot above (Bitcoin, Dash, Ethereum, Kuji, Thorchain, Maya, Hive), Hive is the only one that doesn't support keystore files. Other chains support them too, they are just not on this list.

What Is KeyStore?

Keystore is a system of determining a wallet's private key based on a small keystore file and a password. Without either piece, you can't sign transactions for the respective wallet. We'll go into more detail about that.

Hive can't work with such a system, simply because it has multiple private keys.

Without going into too deep details, what does the keystore file contain?

The keystore file is a text file (more exactly a JSON file), that contains these pieces of information:

  • details about the symmetric algorithm used to encrypt your wallet's private key
  • details about the function used to encrypt your private key with a password
  • a verification code to see if the password you introduce matches the hash that is stored

As you can see, important information is stored in the keystore file, which should remain as confidential as the password.

Best Practices When Working with KeyStore Files

I mentioned above that without either the keystore file or the password, you can no longer sign transactions for your wallet. This is Web 3, so you are responsible for keeping both the keystore file and the password safe and far from potential attackers.

Let's see what you can do:

  • if you have large amounts of crypto in such wallets where the private key is encrypted in a keystore file, it's better to move it to cold wallets. Treat these keystore-based wallets as hot wallets instead.
  • Keep multiple copies of the keystore file, all in safe locations (never on shared devices)
  • I'm sure you know this, but have a strong password; ideally, don't keep the password and the keystore file in the same place, even if it's offline

If an attacker gets your keystore file, they won't be able to take your funds out without the password. If they get the password, they will need the file too.

How to Use Keystore?

I'll go through the processes through Leodex since this is most likely what you will use for the first time if you haven't already.

Creating a Keystore

If you don't have a Keystore file yet, select Create Keystore and then, click the button, like in the image below:

You will reach this form:

You need to:

  1. fill in the password for the wallet (recommended to be strong)
  2. re-enter password
  3. click the button to copy the 12-word passphrase you can use to recover your wallet or import it to other devices
  4. check to accept the T&C (#feedback: there should be a link to terms and conditions there)
  5. Click to download the wallet (the keystore file)

Using an Existing Keystore

For connecting to an existent keystore:

  1. select "Keystore"
  2. select the chains you want to connect with (you can leave them as they are, but the wallet will be more cluttered with information about all the selected chains)
  3. click "Connect Wallet"

Then this form appears:

  1. Here's where you either drag & drop or click and select the Keystore file for your wallet
  2. If you selected Hive in the previous step, among the chains to connect to, then you'll have this step where you'll fill in your Hive username that will be used in conjunction with Hive Keychain to connect to Hive; otherwise you won't have this step
  3. That's where you enter the password for Keystore, used to decrypt the private key
  4. Again, accept terms and conditions
  5. Click "Connect your Wallet", and you're all done.

You can now see you're wallet holdings on the chains you connected by clicking on your wallet at the top-right. You can swap using the "Swap" menu.

I won't cover swapping here for the time being, even though LEO is supported. I'd rather wait for Hive support to be added too, which should be later today if the schedule hasn't changed.

Let me know if you have questions.


Want to check out my collection of posts?

It's a good way to pick what interests you.

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now