Project Name: File-Wallet.com
Project Track: Integration.
Team Name: AmphibianDev
Team Member(s): 1, @AmphibianDev
HackerEarth Project Link: https://devpost.com/software/file-wallet-com-deterministic-wallet-generator
Project Goal:
A simple and easy-to-use, fully open-sourced website for generating cryptocurrency wallets for any kind, in a new unique and deterministic way that has a lot of advantages.
The user can use any file from any of his devices together with an optional but recommended password for generating his wallet. This way, you can “store” the wallet hidden in plain sight but in a secure way and with the property of having plausible deniability (impossible to tell if a file has or not any wallet generated from them).
Introductory video:
Project Value:
Made fully for the cryptocurrency community in general, the idea has come to me from a personal problem: “How and where to store my wallet seed?” At first, I made an easy Python script for this, but I wanted to help the cryptocurrency community because I believe this is the future, and I wanted to be part of it, even if it’s in a small way. So, I made this website for everyone. This is my only way with my current skill of helping the community. I hope you check it out, and it’s useful for some of you, like it is for me.
Project Info:
The basic premise of this website is that it takes any file and converts it into a Data URL string and together with the optional password, it’s then hashed using (SHA256), and the resulting output is used as the entropy for the Mnemonic Seed. It’s quite simple, but I didn’t see this done anywhere.
Project Website:
Project Test Instructions:
Honestly, I put a lot of effort into making the website as intuitive as possible, with people with different technical abilities testing it. I believe in the principle that if the software needs instruction, it’s not well done. But here they are anyway:
- The website has 4 sections: Header, Warning Info, Main Content, Footer. The only important one is the Main Content that is in the middle.
- The Main Content is separated into sections, the left, the input side, and the right, the output side.
- There are 2 tabs for the input side, File, and Seed. The most important one is File; the Seed tab is for generating a random wallet or from another mnemonic seed.
- In the File tab, that is the default one, you only have 3 inputs: the cryptocurrency for which you want to make the wallet, the optional password, and the most important one, the file you chose from which the wallet is generated from.
- Now you have an output on the right side; you can scroll down for more info, but the most important one there is the mnemonic seed, which you can copy or view the QR code by pressing the button on its right side.
Project Milestones:
The only thing that really needs to be done is compiling the entire website into a single .html file, for really easy downloading, storing, and running the website offline. If I win something, I put all the money in buying more time on the domain name and in this feature. I will work tirelessly until I get this done. Of course, if somebody knows how to, I am happy for contributions, even more than winning a prize here. Other things that I want to do:
- Add tests.
- Add a loading indicator during wallet generation.
- Making the integration of JS code from iancoleman bip39, more Typescript safe.