Client-Side Wallets in DApps - Svetlin Nakov @ BlockWorld 2018 (San Jose, CA, USA)
In this talk Svetlin Nakov explains a few architectures for handling the wallets and keys in DApps: server side wallet, client-side wallet and MetaMask.
Nakov demonstrates how to build a client-side BIP39 / BIP44 wallet (using the Ethers.js library) and keep the encrypted JSON wallet at the servers side, along with the username / password credentials.
During the user registration a wallet JSON is generated and sent to the server. After login the wallet JSON is downloaded from the server. Users should enter a password to decrypt the JSON wallet when they sign transactions.
Learn more at: https://github.com/nakov/client-side-ethereum-wallet