This project explores the design and implementation of a decentralized storage system leveraging InterPlanetary File System (IPFS), OrbitDB, and blockchain technology, named IPFS Library. While IPFS offers robust decentralized file storage, its usability is limited by the need to know file-specific Content Identifiers (CIDs) for retrieval. To address this, we integrated OrbitDB to store metadata such as file titles and authors, enabling users to search and retrieve files intuitively. Blockchain technology enhances transparency by recording user actions, such as file uploads and deletions, while a virtual currency mechanism based on Ethereum incentivizes responsible behavior and optimizes resource use. Our system demonstrates an accessible, accountable, and decentralized solution for file storage, advancing the principles of Web3. This project is the HKUST COMP4651 Fall2024 course final project.
Please refer to INSTALL.md.
After successful installation, you could start the IPFS by the following instructions.
Open 4 seperate terminals.
-
For the first terminal, run
ipfs daemon
-
For the second terminal, run
node server.mjs
-
For the third terminal, run
anvil
-
For the fourth terminal, run
npm start
Full demonstration video: (https://www.youtube.com/watch?v=s6HwSukH7oA)
For demonstration purposes, we have provided a sample book: Book0.
You could also refer to the small piece demo in DEMO.md which provides instructions for key steps for installation and quickstart.

