NFTs in Music
Watch the challenge video:
NFTs are exploding in popularity and artists are at the forefront of the movement. Many are realizing the massive potential that affords them independence from traditional gatekeepers and allow access and benefits directly to their collectors and fans. Music NFTs have been slower to adopt than visual art. One of the reasons is the lack of clear royalty standards that can take into account multiple owners of a musical work. For example, musicians often collaborate with multiple artists to record a final song and each of the collaborators own a percentage of the final work.
Additionally, there may be other contributors to the work that deserve to be compensated from any initial or secondary sales throughout the lifetime of the piece (which on the blockchain, should be forever).
NFT marketplaces have not fully integrated robust royalty splits as blockchain standards have not evolved yet to fully take this issue into account. Some proposals exist for split payments on Ethereum
Create a split payment solution that allows for ongoing automatic revenue splits from multiple owners of a single NFT. Other implementations for inspiration may include how the Zora protocol has been implemented to work with Ethereum.
For this challenge, you can combine Casper’s advanced account features and NFT standard to create this solution. The Casper advanced account management feature is desirable for separating permissions and account actions, supporting delegation, and weighted multi-signatures.
You can follow this tutorial to learn more. Casper supports non fungible tokens (or NFTs) to track and work with unique digital assets. The Casper standard is the equivalent to ERC-721 known by Ethereum developers. You can use the Casper implementation as a core library in your dApp, or extend it to implement your desired functionality for this hackathon.
Casper account features:
A tutorial on using multiple signatures: Casper Multi-Signature Tutorial
The Casper NFT standard:
Implementation: Casper NTF Cep 47
Submission requirements: Create a public GitHub repository to host the code for your project. Add technical documentation and unit tests as appropriate. Create a design document explaining your implementation. Prepare a final presentation for your project to help with its evaluation.
If possible, include future plans and possibilities to extend the hackathon implementation.
A simple UI is nice to have but it is not needed. It is more important to have a functional dApp and corresponding smart contracts. You can explain the project functionality with command-line output, a design document, or with wire frames, and the UI can be built later.