Skip to content

Manav39/Innovize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

🎵SoundMint - Music NFT Copyright Protection

Overview

This project provides a blockchain-based NFT platform to help new and independent music artists secure ownership of their work using NFTs (Non-Fungible Tokens). The platform allows artists to mint unique NFTs for their music and register copyrights transparently on the blockchain, ensuring ownership verification, prevention of piracy, and direct monetization.

Problem Statement

New artists face significant challenges in copyright protection, ownership verification, and monetization of their music. Traditional copyright processes are expensive, slow, and inaccessible. Additionally, piracy and unauthorized use threaten their intellectual property.

Challenges Faced by Artists:

  • Expensive & Slow Copyright Registration – Traditional legal processes involve high costs and delays.
  • Ownership Disputes – Proving ownership of a song is difficult when plagiarism occurs.
  • Music Piracy – Unauthorized use and illegal downloads result in revenue loss.
  • Monetization Issues – Streaming platforms take a large share of artists' earnings.

Solution: Blockchain & NFTs

Blockchain technology is revolutionizing the music industry by offering artists innovative ways to manage ownership, distribution, and monetization of their work. This project harnesses the power of Non-Fungible Tokens (NFTs) to provide a decentralized and secure platform for music copyright protection.

Key Features of the Solution:

  1. Minting Music NFTs: Artists can create unique digital tokens representing their music tracks. Each NFT serves as an immutable certificate of ownership, ensuring authenticity and originality.

  2. Transparent Copyright Registration: Ownership records are securely stored on the blockchain, providing a tamper-proof and transparent method for copyright registration. This decentralization eliminates the need for intermediaries, giving artists more control over their creations.

  3. Prevention of Duplicate Registrations: The system ensures that each song is minted as an NFT only once, preventing duplicate registrations and maintaining the exclusivity of each track.

  4. Direct Monetization Opportunities: Artists can sell or license their music NFTs directly to fans and collectors without relying on traditional intermediaries. This direct-to-fan approach can lead to more equitable revenue distribution and closer artist-fan relationships.

Advantages Over Traditional Models:

  • Enhanced Artist Control: By leveraging blockchain, artists retain greater control over their work, from distribution to monetization, reducing reliance on record labels and streaming platforms.

  • Fractional Ownership and Investment: Tokenization allows for the division of music rights into smaller, tradable units. Fans and investors can purchase fractions of a song's royalties, creating new investment opportunities and fostering a sense of shared ownership.

  • Increased Transparency: Blockchain's immutable ledger provides clear and accessible records of ownership and transaction history, reducing disputes and ensuring all parties have access to the same information.


Flowchart

nft_dfd

Smart Contract Implementation

The MusicNFT smart contract is developed in Solidity and deployed on the Ethereum blockchain.

Key Features:

ERC721 Standard – Uses OpenZeppelin’s NFT standard for easy integration.
Ownership Verification – Stores metadata (song name, artist name, timestamp).
Duplicate Prevention – Ensures the same song is not minted twice.
Event Emission – Notifies when a new NFT is minted.
Ownable Access Control – Only artists can mint their NFTs.

Smart Contract Code:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Counters.sol";

contract MusicNFT is ERC721URIStorage, Ownable {
    using Counters for Counters.Counter;
    Counters.Counter private _tokenIdCounter; 

    struct Song {
        string songName;
        string artistName;
        uint256 timestamp;
    }

    mapping(uint256 => Song) public songDetails; // Stores song metadata
    mapping(bytes32 => bool) private existingSongs; // Prevents duplicate song minting
    mapping(uint256 => bool) private _mintedTokens; // Tracks minted tokens

    event MusicMinted(address indexed artist, uint256 tokenId, string songName, string artistName, uint256 timestamp);

    constructor() ERC721("MusicNFT", "MUSNFT") Ownable(msg.sender) {}

    /// @notice Mint an NFT for a music track
    /// @param songName The name of the song
    /// @param artistName The name of the artist
    /// @param metadataURI The IPFS URL of the song metadata
    function mintMusicNFT(string memory songName, string memory artistName, string memory metadataURI) external {
        bytes32 songHash = keccak256(abi.encodePacked(songName, artistName)); // Generate a unique song hash
        require(!existingSongs[songHash], "This song is already registered as an NFT");

        _tokenIdCounter.increment();
        uint256 newTokenId = _tokenIdCounter.current();

        _mint(msg.sender, newTokenId);
        _setTokenURI(newTokenId, metadataURI);

        songDetails[newTokenId] = Song(songName, artistName, block.timestamp);
        existingSongs[songHash] = true;
        _mintedTokens[newTokenId] = true; // Mark token as minted

        emit MusicMinted(msg.sender, newTokenId, songName, artistName, block.timestamp);
    }

    /// @notice Retrieve song details by NFT ID
    /// @param tokenId The NFT token ID
    /// @return songName, artistName, and timestamp of minting
    function getSongDetails(uint256 tokenId) external view returns (string memory, string memory, uint256) {
        require(_mintedTokens[tokenId], "Token ID does not exist");
        Song memory song = songDetails[tokenId];
        return (song.songName, song.artistName, song.timestamp);
    }
}

How the Smart Contract Works:

  1. Artists Call mintMusicNFT()

    • Provide song name, artist name, and metadata URI (stored on IPFS).
    • A new NFT is minted and linked to their Ethereum wallet.
    • Prevents duplicate registrations of the same song.
    • Emits an event with the NFT details.
  2. Ownership Verification

    • getSongDetails(tokenId) allows anyone to verify the song’s original creator and timestamp.
  3. Secure & Immutable Data

    • Since blockchain records cannot be altered, ownership is permanent.
    • Storing the metadata URI ensures details (e.g., song file, album cover) remain accessible.

Deployment Steps

  1. Set Up a Blockchain Environment

    • Use Ethereum (Sepolia Testnet) or Polygon Mumbai for deployment.
    • Install MetaMask for wallet integration.
    • Use Remix IDE for contract deployment.
  2. Deploy the Smart Contract

    • Compile the contract using Remix or Hardhat.
    • Deploy on Sepolia Testnet using Alchemy or Infura.
    • Verify the contract on Etherscan.
  3. Store Metadata on IPFS

    • Use Pinata or Filecoin to store song metadata.
  4. Build a Simple UI (Optional)

    • A frontend using React + Web3.js can be built for artists to mint NFTs easily.

Screenshots

1️⃣ Smart Contract Compilation on Remix

Smart Contract Compilation

2️⃣ Smart Contract Deployment

Smart Contract Deployment

3️⃣ Deployment Details on Sepolia Etherscan

Deployment on Sepolia

4️⃣ IPFS Image Upload

IPFS Image Upload

5️⃣ NFT Minted Successfully

NFT Minted

6️⃣ NFT Marketplace for Music

View Collection on OpenSea

NFT Marketplace

Future Enhancements

🔹 Royalty Mechanism – Implement revenue-sharing for secondary sales.
🔹 Auction & Marketplace – Enable buying and selling of music NFTs.
🔹 Multi-Chain Support – Deploy on multiple blockchain networks.


Conclusion

This Music NFT Copyright Protection platform provides new artists with a decentralized, cost-effective, and transparent way to secure their music ownership. By leveraging blockchain and NFTs, artists can protect their intellectual property, prevent unauthorized use, and explore new monetization opportunities without intermediaries.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published