Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

keystore storage query #1

Open
crazybits opened this issue Dec 18, 2017 · 6 comments
Open

keystore storage query #1

crazybits opened this issue Dec 18, 2017 · 6 comments

Comments

@crazybits
Copy link

is the keystore component platform independent? we are considerring to dev a wallet app with RN, not sure whether if will be supported or not.

@jcalfee
Copy link
Contributor

jcalfee commented Dec 20, 2017

Things for RN we need to plug in:

  • Persistent storage
  • Secure random number generator
  • A location path or URI to identify higher security pages from pages that may display user-provided content (for security). This is like the URL in a webapp.

Do you have an Api reference you want to use for the 1st two? Does RN have a URL router?

@crazybits
Copy link
Author

crazybits commented Jun 14, 2018

seems existing keystore use localstorage to save the keys, but RN does not support localstorage, any suggestion ?

@jcalfee
Copy link
Contributor

jcalfee commented Jun 14, 2018

It should be easy to pick out local storage for RN .. However, keystore / keygen is not for encrypted storage, it still needs a secure password manager to keep the root seed. That is what I would want to look into: are their good password managers in the RN environment or does one have to build that out..

@crazybits
Copy link
Author

crazybits commented Jun 15, 2018

i am also aware of that existing keystore keep the plain private key which is not secure and also looking for the suitable solution, and one more thing is that the existing storage implementation is synchronous, but the RN asyncstorage is asynchronous, how could we plugin the asyncstorage to existing keystore in RN environment @jcalfee

@jcalfee
Copy link
Contributor

jcalfee commented Jun 15, 2018

For async, deriveKeys(params) and logout are probably the only two functions that should return a promise. All the fetching may update the disk cache but it is updating the cache with derived data and additionally keeping it in RAM (so the fetch can return data synchronously) ..

@ekkis
Copy link

ekkis commented Feb 13, 2020

I also have similar questions. I'm doing research on what it will take to build what I need. here's what I need to accomplish from my React Native app:

  1. generate private/public keypair
  2. create account (haven't decided which blockchain yet)
  3. store account name and keypair (probably asyncStorage) but encrypted
  4. possibly have the user set up a PIN code used to encrypt the keypair

from the above, I'm not sure whether i even need the keystore. I'm imagining that when the app runs, it checks the storage and if it finds a keypair then it can sign transactions. is there code somewhere doing what I need?

I can see from https://github.com/EOSIO/eosjs-keygen how to create the keypair and account but I'm wondering how everyone else manages this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants