project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Keepit

Revolutionize blockchain file storage with keepIt. Seamlessly upload files, private/public access, and access on-chain files customized to your preferences, all enhanced with verification features

Keepit

Created At

Superhack

Winner of

trophy

šŸŠ Worldcoin ā€” Pool Prize

trophy

šŸŠ Mode ā€” Prize Pool

Project Description

keepIt brings on chain file storage, select files, and determine chunk sizes for dividing files. Each chunk is translated into a blockchain transaction, subject to user confirmation. Once these chunks are dispatched, users face two distinct options.

Firstly, file privacy is upheld. Users receive transaction hashes for their chunks. While transaction details are public, the sequence is pivotal for successful file reconstruction. To safeguard this order, a meticulously crafted JSON file ensures secure file retrieval.

On the other hand, users can opt for a public route. A dedicated smart contract anchors essential file detailsā€”such as checksums, filenames, types, transaction order and verificationsā€”within the blockchain. This enables anyone with the address of this file smart contract to combine transaction data, restoring the original file and get information about the uploaderā€™s verification.

Verification options include WorldCoin which verifies proof of personhood for the person who has uploaded the file, displaying verification status on respective file contracts. Additionally, organizations can also be verified. If a company proves its ownership of an address, they receive confirmation and an "Attestationā€(via EAS) indicatorā€”akin to Twitter's yellow checkmark.

With cost-effective gas charges on networks like Optimism, Mode, Zora, and Base, file uploads become economical, requiring only a one-time gas fee. Recurring payments are eliminated for file storage.

Our Chrome extension simplifies file access. Users can regain data by uploading the private JSON file or opt for a seamless experience by entering the smart contract address and chain name of the deployed file. Our background system verifies checksums. If a mismatch is detected, indicating file tampering, the browser refrains from displaying a download percentage.

How it's Made

We've developed two main Solidity smart contracts: a factory contract and a file contract. To ensure user-friendliness, we've created a SvelteKit frontend, allowing effortless file deployment on the blockchain (even featuring a Worldcoin widget for verification). For viewing files, our Chrome extension connects to a Golang GIN server, efficiently retrieving transaction hashes from the file smart contract to seamlessly access the files.

background image mobile

Join the mailing list

Get the latest news and updates