Skip to content

raymacodei-ctrl/musicplatform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎵 Decentralized Music Platform on Stellar Soroban

📌 Project Description

image

This project is a decentralized music platform built using Soroban smart contracts on the Stellar blockchain.

It allows artists to upload their songs by storing song metadata such as artist name, song title, and IPFS hash on-chain. This ensures transparency, ownership proof, and censorship resistance.

The actual music files are stored on IPFS while the blockchain stores secure references.


⚙️ What it does

  • Artists can upload song metadata to the blockchain

  • Each song includes:

    • Artist Name
    • Song Title
    • IPFS Hash (link to decentralized storage)
  • Users can fetch the complete list of uploaded songs

This creates a decentralized registry of music content.


✨ Features

  • ✅ Fully decentralized music registry
  • ✅ IPFS integration for media storage
  • ✅ Immutable song metadata storage
  • ✅ Transparent content publishing
  • ✅ Simple Soroban smart contract design
  • ✅ Gas efficient implementation

🔗 Deployed Smart Contract Link

🚀 Future Improvements

  • Artist wallet authentication
  • Like / tip system using Stellar tokens
  • Music NFT minting
  • Streaming frontend UI
  • Royalty distribution smart contract

⭐ VERY IMPORTANT Improvement (Smart Contract Advice) 🧠

Your contract is good beginner level, but for real projects you should:

✅ 1. Add Song ID

Right now songs are only pushed → hard to fetch one song

Better:

song.set(Symbol::new(&env,"id"), song_id);

✅ 2. Prevent Fake Uploads

Anyone can upload songs

Add:

  • require_auth() for artist wallet
  • ownership mapping

✅ 3. Add Events (Very Powerful in Soroban)

So frontend can detect upload instantly ⚡

env.events().publish(
    (Symbol::new(&env,"upload"),),
    title
);

✅ 4. Add Pagination

If 10,000 songs → get_songs() becomes heavy

Better:

get_song_by_id()
get_songs_range()

⭐ If you want I can next build FULL version for you 😄

Like:

🎧 Advanced Music Platform Contract 💰 Royalty Distribution Logic ❤️ Like + Tip System 🌐 React Frontend UI 🚀 Deployment Guide Step-by-Step

Just tell me 👍

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors