Inspiration

The current landscape of music streaming is dominated by centralized platforms that bombard users with ads, often disrupting the listening experience. These platforms monopolize content distribution, leaving little room for user control or creativity. Our inspiration for IPFSify stemmed from the desire to create a decentralized music streaming platform, free from the constraints of centralized control. By leveraging IPFS technology and Web3, we aim to build a robust, secure, and ad-free platform that empowers both creators and listeners.

What it does

IPFSify allows users to upload their songs to a decentralized network using IPFS technology. Once a song is uploaded, it is stored on IPFS and a transaction is sent to our smart contract, which maps the song’s name to its corresponding IPFS CID (Content Identifier). Users can then easily retrieve and play songs by clicking on them, with the process of fetching the CID and retrieving the song from IPFS handled seamlessly through a transaction with the smart contract.

How we built it

IPFSify is built on three main components: the backend, the client, and the smart contract.

  • Backend: We used Node.js along with the ipfs-http-client to interact with IPFS, enabling the storage of songs on the IPFS network and returning the CIDs. The backend also facilitates the retrieval of songs from IPFS using these CIDs.

  • Client: The client side is developed using React, serving as the frontend of our platform and the bridge between the user and our deployed smart contract. It allows users to connect their IPFSify instance to their MetaMask accounts, upload new songs, and stream available songs. The client takes care of all tasks from uploading and retrieving hashes from IPFS to interacting with the smart contract.

  • Smart Contract: The smart contract is written with the help of Solidity. It manages the storage of mappings between song names and their CIDs on the decentralized blockchain network. It also retrieves the CIDs when needed, ensuring secure and reliable access to the content.

Challenges we ran into

Building a fully decentralized system for music streaming came with its share of challenges. From ensuring seamless integration between IPFS and smart contracts to managing user interactions through the frontend, each component required careful attention to detail. Additionally, we faced hurdles in optimizing the retrieval times and ensuring that the user experience remained smooth and intuitive.

Accomplishments that we're proud of

We’re particularly proud of successfully writing and deploying our smart contract, achieving reliable content upload and retrieval from IPFS, and completing a functional and user-friendly frontend using React. Each of these accomplishments marks a significant step toward realizing our vision for a decentralized music streaming platform.

What we learned

Through this project, we gained valuable experience in working with IPFS, React, and smart contracts. We deepened our understanding of decentralized technologies and their potential to disrupt traditional content distribution models. This project also enhanced our skills in full-stack development, particularly in integrating various technologies to create a cohesive product.

What's next for IPFSify

Looking ahead, we plan to introduce a feature that allows users to send likes to creators, accompanied by small amounts of Ethereum. This would incentivize content creation and encourage more users and creators to engage with IPFSify. We also envision expanding the platform’s features and scaling its capabilities to support a broader user base.

Built With

Share this project:

Updates