This is the decentralized music project, allowing users to mint scarce artist tokens (there will only ever be 80 artist tokens) that are used to form bands and create tracks as a band, but not too many tracks bands can only create 4 tracks before they are forced to retire. When a user mints an artist token his wallet public key is decomposed and turned into a sound that will be forever unique to that artist. Artists can create bands, but they need 3 of their friends to join them in a band before the band is eligible to start minting tracks. As a band every artist can mint one track and then the band is collectively forced into retirement (burned). This deflationary mechanic makes our music ultra sound 😉. Contrary to prevailing approaches to NFTs we are not storing media in the metadata of the NFT, what we are storing is the DNA of sounds and music that currently can only be played by our player. In the long run we would like to see other teams develop players that can interpret our sound and music DNA and play it in their own unique way.

The Ultra Sound Music Project showcase

How it's made

The backbone of The Ultrasound Music Project is an ERC1155 contract. Given that users interact as unique artists and as members of bands and create unique tracks we saw it fit to use a single contract to coordinate state between three NFTs (artist token, band token and track tokens). To create artists, start bands, join bands and create tracks users interact with the ERC1155 contract via a react app that has been deployed to IPFS via Fleek. The react app also interacts with a node server that listens to events emitted from the ERC1155 contract, caching the data and making it easily accessible via api endpoints. MetadataURIs for tokens are stored on IPFS using the Fleek SDK. Artist tokens (sounds) and their tracks can be played by the client. The player in the client uses each tokens unique DNA to generate the sound that is unique to the NFT.

Technologies used