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 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.
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.