Inspiration
As a musician myself, and having learned technology over the last few years, I've dedicated myself to enhancing the world of music and web 3. In order for music to be massively adopted by the likes of Spotify, Apple, SoundCloud, etc. there will need to be a way to track music plays/streams from the blockchain. This is what we have learned from our research and customer interviews. We are inspired to be the music platform that bridges all blockchains to the real world of music. We envision that music streamed into the various metaverses will use our technology to distribute earnings to the copyright owners in the real world.
What it does
From your user dashboard you upload your music files, Metadata for web 2.0, Metadata for web 3.0, and control which website domains can have access to the data. As the music owner, if you want to create NFTs on OpenSea, all you would need to do is whitelist opensea.com and your music data will be shared to OpenSea. This gives the ultimate control to whoever owns the Radio Vault whether that be a record label, or individual artist. Currently we upload all data to IPFS via FileCoin and allow you to whitelist domains. We are currently working on implementing the Chainlink VRF to be able to randomly select Digital Service Providers (like Spotify) to earn streams played from the blockchain.
How we built it
We built this with a design approach first. We created the frontend and the application itself on Figma for ease of use. We developed the backend to push data where it needs to go and upload to IPFS/FileCoin. Lastly, we built it with the music businesses in mind. We use the language they know and love to make it as understandable and controllable as possible!
Challenges we ran into
We ran into time challenges. Our backend/frontend took more time than expected but was necessary to complete prior to creating the smart contracts. We had to have the whole flow laid out so that we could consider all of the ways that it would need to interact with our smart contract.
Accomplishments that we're proud of
We are thrilled to have created the product that we have today! There is a ton of value in being able to track IPFS/FileCoin streams that can add value to the web 2 world. A great example of why this is revolutionary is because if a large record label has musicians who want to create NFTs, they can just create Radio Vaults for those musicians. They can upload all data that is needed and when the music plays from the IPFS hash, our infrastructure tracks it every time AND allows them to control where the music gets to be played from the whitelist section of their interface.
What we learned
We learned that we are on the right path to massively adopting music into web 3! We learned that there are some more challenges to be solved for in order to properly incorporate everything that we truly want to with this tech, but we are committed to the process!
What's next for Radio Vaults
Next we will be focusing solely on how to implement the VRF functionality to make it as fair as possible to allow the web 2 companies of the world to make money from the streams played in metaverses and when Music NFTs are listened to. We are a fully committed team to this project and this use-case/cause.
PS when you go to try it out, you can see that if you upload a video file as you NFT file, it will show up as a black screen at first. This is not a bug, but very intentional. Remove the localhost:3001 from the whitelist and then input our fake version of an NFT site like opensea here: radio-vault.herokuapp.com into the whitelist box, then save and your file will appear. This shows how the user gets to control their files! When we roll this out all they will have to do to make NFTs on opensea is include opensea.com into their whitelist and save. If you visit the site radio-vault.herokuapp.com in your browser, you will see nothing of importance, but we wanted to demonstrate the true power of masked NFT files.
Built With
- axios
- chainlink
- ethers.js
- express.js
- javascript
- mongoose
- next
- nft.storage
- node.js
- react
- typescript
- uuid
Log in or sign up for Devpost to join the conversation.