What the Heck Is KeyStore?

in LeoFinance20 days ago

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.

Posted Using InLeo Alpha

Sort:  

I will reread your post later and will try this. I hope it will wotk for me.

Sure! Let me know if you have questions or if something doesn't seem to work for you.

Yeah, I will ask you in case I encounter difficulty. Thanks!

Thanks, this is very informative. So a keystore is like a digital wallet in a file. Since there will be metamask support, I'll probably wait for that. You mentioned metamask does not support Thorchain and Maya, so does that mean Hive users are required to make a keystore?

So a keystore is like a digital wallet in a file.

Pretty much.

Since there will be metamask support, I'll probably wait for that. You mentioned metamask does not support Thorchain and Maya, so does that mean Hive users are required to make a keystore?

Either that or XDEFI, I believe. XDEFI also supports lots of blockchains, including Thorchain (and probably Maya, I haven't checked). Hive Keychain is only to connect to Hive and Hive-Engine tokens.

I see, thanks for the explanation.

It sounds complicated but I guess its just another way to keep yourself safe. I think I'll wait for the Hive option as well because I like the way Keychain works.

Yeah, but you will still need either a Keystore or XDEFI to interact with Maya and the other ecosystems. Hive Keychain is only for Hive/Hive-Engine.

I have an asgardex wallet keystore file (json) but it doesn't work with this wallet which seems to require a text file.

Where are Keystore files saved for Asgardex? I wanted to test with one of them, but I don't know where they store them (on Linux). They don't let you select a location where to save the keystore file or to load it from. It works for me with a Keystore file created with Thorswap, for example.

Good to learn about the keystore and I never used it. Will try to create it soon.

It's quite easy to use. I had to learn about it when one of the methods I used to connect to THorchain didn't work anymore.

cool the same question came up for me and i literally just solved it before seeing your post.
a good guide anyway!

Thanks! Yep, I thought not many Hivers ventured onto ecosystems where they needed to use keystore files.

Hmm seems Better hive keys than keystore file

You get used to anything.

!discovery 30

Thanks for the extra visibility (and vote).

Hello @gadrian. This sounds like a breakthrough for Hive if I understand correctly. A person would not have to wait 13 weeks now to exchange HIVE to USD? Am I wrong? Sorry, I mean to withdraw Hive? How could you change to USD and sent to bank? Thank you! Barb !BBH !CTP #ctp

You can't exchange HIVE POWER for anything but HIVE with a 13-week power down, Barb.

You won't be able to exchange HIVE to USD directly, but you will be able to exchange HIVE to BTC, and then withdraw the BTC to USD from a place that works with fiat currency/credit cards/bank accounts and allows off-ramps. Coinbase works in the United States for that, I believe.

For now, I would wait for their Leodex front end to become more stable (fewer changes), and to see some people who have used it successfully with Hive. For example, you can use LEO to get some ETH for fees on Arbitrum (you can't do anything without it with LEO or Hive on Maya). I paid the LEO, and the transaction went through at both ends, but I don't see any effects on the interface (it still says I don't have any ETH funds for fees).

OK, and thank you @gadrian and how long does it take to change Hive to btc? I'm curious and thank you. Have a nice weekend! !BBH !CTP

If all goes well (meaning you should wait for LeoDex to become stable before trying it), it should take about 15 minutes, probably less. 10 minutes is the average transaction time for the Bitcoin network, plus the transaction times on Hive-Engine, Arbitrum, Maya, they add up... Sometimes transactions hang for longer times, so you shouldn't get worried if it's over 15m.

Also, note that after you have BTC, to transfer it, the fee is in the double-digit dollar amount currently, so you can't move small amounts often.

If you want to move small amounts often, use the v4v.app of @brianoflondon, which gives you Bitcoin Lightning instead of Bitcoin (same thing, only at the second layer), with no or minimum fees. But before that check if Coinbase or the site you are going to use to off-ramp to USD supports Bitcoin Lightning, or only Bitcoin.

Thank you for all you information on transacting Hive to Bitcoin! !BBH !CTP

Never mind @gadrian I looked on Google and you do it with Simple Swap! https://simpleswap.io/

Ah, ok. Yes, I think that's easy to use. But it has higher fees.

The keystone is really making sense
Thanks for sharing

You're welcome.

Congratulations @gadrian! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You received more than 17000 HP as payout for your posts, comments and curation.
Your next payout target is 18000 HP.
The unit is Hive Power equivalent because post and comment rewards can be split into HP and HBD

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP


This post was shared and voted inside the discord by the curators team of discovery-it
Join our Community and follow our Curation Trail
Discovery-it is also a Witness, vote for us here
Delegate to us for passive income. Check our 80% fee-back Program