I have seen many answers and theory about it but didn't find any concrete example of how it should be done.

  • I'm not sure I understand the question. If you're authoring a DApp, the best practice is to not handle anyone's private keys. Users of your app should use something like MetaMask. – smarx Jan 27 '18 at 5:27
  • Yes, exactly. That's where I come from. Our users wouldn't be comfortable using something like MetaMask and what if they use Safari and not MetaMask supported browsers? – eth.block Jan 27 '18 at 5:42
  • If they're not comfortable using MetaMask, what would they be comfortable with? Surely giving you their private key to a website would be worse from a security standpoint, but maybe there are other aspects of their concern? – smarx Jan 27 '18 at 5:44
  • Our users are non-techies. And we're very sure that they wont like it when we ask them to install MetaMask or anything else for that matter. I understand the security part but what are the alternatives, other than MetaMask of course. – eth.block Jan 27 '18 at 5:49
  • The only other options are using web3 enabled browsers (eg Mist or Parity) which users are less likely to have than Chrome/Metamask or having them use a ledger/hardware wallet and using their respective packages and manually coding transaction signing. That is if you want them signing / sending transactions. For read only access to web3, you could provide your own web3 provider and not use Metamask’s web3. That would allow them to read from the Blockchain. But the short answer is, allowing users to send transactions without Metamask (eg Safari) is for right now not really easily doable – carlolm Jan 27 '18 at 5:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.