I have been researching on blockchain technology and ethreum platform and I want to build an mobile aplication (Dapp), I know that an Ethereum account has private and public key, the private key only the user's own can use, so my questions are born here. (I know that for this I should have a blockchain network in this case I will use ethereum, I should have a web API and finally the frontend).

  1. Where save the user's private key? In a centralized database like a bank data? in the ethereum network?

  2. Where save the user's email and password?

or what is the flow exactly about this

please help me.

1 Answer 1


To answer your first question. The user is going to bring their own public/private keys to your Dapp, using an Ethereum client such as Mist or Metamask. When a user visits your Dapp, you will be able to read their Ethereum address (kind of their public key). So you will be able to immediately identify who they are.

Libraries like Web3.js, allow you to interact with their public information (eg. address, balance, network, numTxs, etc). Check out the Web3 JavaScript app API for details on what you can do.

Also, if you are concerned about authentication (as it's trivial to spoof their public key), you can use a library like Web3-Auth and ask them to sign a transaction. Only the owner of the real private key will be able to validate their public address.

To answer your second question. Non-blockchain data, ie name, email, phone, etc, could be stored in your preferred, traditional data storage (cloud db, rdbms, etc). You could then use ethereum address as the key to your user's records when you need to retrieve the information.

My advice is that you start with My First Dapp, as the Truffle Framework is currently the most supported framework for building Dapps. At the end of that tutorial, you should have a much better understanding of how it all works.

Good luck!

  • so, you are tell me that the client bring their own public/private keys to my Dapp ie, the client have to have ethereum in his mobile? Really man?
    – Adrian
    Commented Oct 6, 2017 at 0:24
  • If you want to build a Dapp, then yes, they need to have a client. The only mobile Dapp client that I know of is status.im, and I think its still in alpha.
    – Shomari
    Commented Oct 6, 2017 at 2:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.