Dataloft

Encrypted data drive on filecoin

Demo Video Live Demo Source Code

Description

Dataloft is a client-side encrypted data drive browser app for storing files on ipfs and filecoin, Dataloft give users full control of their data. Dataloft manages all encryption and owner keys client-side giving users security that they are the only one that can read or access their data. Our app is deployed on fleek, and we have made use of unstoppable domains and ens domains and can be accessed at dataloft.crypto and dataloft.eth

How It's Made

This project was an amazing learning experience for both of us at the start of the project I focused primarily on understanding how filecoin at the core worked and studied lotus code, Carlo design the UI for the site while we strategies on how the rest of the site should function. Our original goal was to be able to hash the wallet private keys to a filecoin address and sign all transactions for sending and storing file with metamask. We later changed our focus to raw file encryption and learning how to sign filecoin transitions with custom JSON parameters for storing user accounts data and encrypted keys on the file coin chain. On account creation users enable metamask and 3BOX. Metamask is used for encrypting filecoin private keys. 3BOX is used to generate identity for threadsDB. Users are asked to deposit 10 file coin to their filecoin address. We use this for gas to create a message on the filecoin chain where we store their account details and encrypted private keys. Users also store their account details on ThreadsDB. On account creation their account username and metamask public key and the sha256 hash of their password are passed to the dataloft backend for dataloft records and authincation. After signing in users can upload files that are automaticly encrypted and pushed to hot storage on powergate. Users can push their files to filecoin for cold storage. Users can share files with other dataloft users by encrypting the encryption key used to encrypt the file with the users metamask public keys.

Team

Nathanael Senn Jhune Carlo Trogelio
← click here to see all projects