Inspiration

We wanted to create a new file system that

What it does

Our web app allows users to upload local files to the Hedera blockchain and retrieve them at a later time. Since Hedera is a decentralized, all users are able to access the file. However, a private key is needed in order to decrypt and read its contents.

How we built it

Ejs was used to build the upload and download pages. These pages were linked to a nodejs backend where we handle requests and send files to the blockchain.

Challenges we ran into

Hedera only allowed us to add 1KB of data to each file. This caused problems as we were trying to upload files reaching 1 MB/1000KB. Thus, we built an application layer protocol (DRAFT protocol) to chain linked files together, parallelize their creation, and order them correctly to be downloaded as a single file later on.

Accomplishments that we're proud of

Finding a workaround to the file upload barrier was our greatest achievement. Rather than limiting ourselves to a 1KB file size, we found a solution to use the Hedera blockchain to our advantage.

What we learned

We have learned a lot of crypto and blockchain. We used to very new to the space and we are happy to say we are coming out of this hackathon with useful information about security, private/public keys and privacy.

What's next for FileChain

We are still working on implemented a way to sign and encrypt a file using only 1 private/key pair instead of 2. We also want to connect the hedera keys with cryptoJS keys.

Built With

Share this project:

Updates