In the digital age, people tend to have multiple credentials on multiple platforms and to automate the process there are centralized password managers available. But with the power of immutability and decentralization of blockchain, we provide a trustless service to handle your credentials.
We provide a trustless service as there is no 3rd party agent involved. It is safe as all the credentials are encrypted using symmetric encryption. It is reliable as all the data is stored in a decentralized way using IPFS. It is accessible as there is not seperate platform but a chrome extension to use the service.It is efficient considering the scalability factor, data gets stored off chain without compromising security.
Our extension workflow is as follows -
The biggest problem we faced was, coding the whole thing using client side, vanilla javascript, which is normally not the way to go. Added to that the added complexity of coding a Dapp on the clientside, no npm, no require, no imports, the problem was grave ! Initially we started looking for CDN's to include in our JS, and almost found each one of the needed, but couldn't find any which built truffle-hdwallet-provider correctly. Finally, what helped was Browserify, which basically converts and links all of the required and import files.
Another issue we ran into was, Chrome Extension, it was our first time working with them, so we didn't really have an idea where and how the scripts work. There are separate scripts for the extension control and separate for the page control (content scripts), Communicating between the extension and page, also where to include the scripts, was a problem initially, we accomplised it by reading about it online, and experimenting with it.
Apart from the above two, there were quite a few issues, such as deploying smart contract, working with IPFS, among others.
Technologies used
Discussion