An online music streaming service allows user to listen, share and upload their own music.
This project aims for artists to create and share their works while having full ownership of their works. Artists can upload a piece of music that is turned into NFTs and stored on a blockchain. This music is directly streamed from decentralized storage. Once the music is uploaded and stored it becomes available on the homepage and the user can directly play music by clicking on the title.
This project uses next.js for the frontend and ether.js to interact with the smart contracts. The files are uploaded to ipfs using web3.storage and links generated is used to stream music. Using openzepplin I'm creating an ERC721StorageURi token for each music and the tokenid is used to fetch music. I get tokenUri which is uri for the metadata for that nft. I contruct the link from metadata and then that link is directly used by audio to play sounds.