Decentralized Music Streaming Platform
A revolutionary music streaming platform that empowers artists through direct micropayments, decentralized storage, and blockchain-powered transparency.
Current music streaming platforms exploit creators:
- Artists earn less than βΉ0.10 per stream
- Payments delayed by 30-90 days
- Platforms take 30-45% revenue cuts
- No transparency or ownership for artists
- Music stored on centralized servers with no proof of authenticity
WalTune revolutionizes music streaming with:
- Walrus β Decentralized audio storage with content addressing
- Sui Blockchain β Smart contracts for artist identity, song registry, and payments
- Direct Micropayments β Pay-per-play model with instant artist earnings
- No Middlemen β Artists keep their earnings, listeners pay fair prices
Listener loads wallet β Plays song β Instant micropayment β Artist receives funds
No subscriptions. No intermediaries. Just fair, transparent creator monetization.
- On-chain Identity: Register as an artist with immutable blockchain records
- Upload Songs: Store audio files on Walrus (decentralized, permanent storage)
- Set Your Price: Define per-play cost (e.g., βΉ0.05 per stream)
- Real-time Earnings: Receive instant micropayments for every play
- Full Transparency: Track all plays and earnings on-chain
- Simple Wallet Loading: Preload balance for seamless streaming
- Pay Per Play: Only pay for what you listen to
- Support Artists Directly: 100% of streaming fees go to creators
- Transparent History: View all your plays and payments
- Fully decentralized audio storage
- Smart contract-based payment routing
- Trustless micropayments
- Modern, intuitive music player UI
- Mobile-responsive design
βββββββββββββββββββββββββββ
β FRONTEND β
β Next.js + Sui SDK β
βββββββββββββ¬ββββββββββββββ
β
β API Calls
β
βββββββββββββΌββββββββββββββ
β BACKEND β
β Node.js + TypeScript β
βββββββ¬βββββββββββββ¬βββββββ
β β
β β
βββββββΌβββββββ βββΌββββββββββββ
β WALRUS β β SUI NETWORK β
β Storage β β Contracts β
ββββββββββββββ βββββββββββββββ
β β
β Audio Files β Metadata
β (Decentralized) β Payments
β β Identity
- Node.js 18+
- npm or yarn
- Sui Wallet
- Walrus testnet access
-
Clone the repository
git clone https://github.com/Vikram-Singh0/WalTune.git cd WalTune -
Setup Backend
cd backend npm install cp .env.example .env # Configure your environment variables npm run dev
-
Setup Frontend
cd frontend npm install cp .env.example .env.local # Configure your environment variables npm run dev
-
Deploy Contracts (Optional)
cd contracts sui move build sui client publish --gas-budget 100000000
Backend (backend/.env):
PORT=3001
WALRUS_PUBLISHER_URL=https://publisher.walrus-testnet.walrus.space
WALRUS_AGGREGATOR_URL=https://aggregator.walrus-testnet.walrus.space
WALRUS_EPOCHS=5
SUI_NETWORK=testnetFrontend (frontend/.env.local):
NEXT_PUBLIC_SUI_NETWORK=testnet
NEXT_PUBLIC_API_URL=http://localhost:3001
NEXT_PUBLIC_SUI_RPC_URL=https://fullnode.testnet.sui.io:443WalTune/
βββ frontend/ # Next.js frontend application
β βββ app/ # App router pages
β βββ components/ # React components
β βββ lib/ # Utilities and configurations
β βββ types/ # TypeScript type definitions
β
βββ backend/ # Node.js backend service
β βββ src/
β β βββ controllers/ # API controllers
β β βββ routes/ # Express routes
β β βββ services/ # Business logic
β β βββ sui/ # Sui blockchain integration
β β βββ walrus/ # Walrus storage integration
β βββ package.json
β
βββ contracts/ # Sui Move smart contracts
βββ artist.move # Artist registration & identity
βββ song_registry.move # Song metadata & tracking
βββ payment.move # Micropayment logic
- Sui - High-performance blockchain
- Move - Smart contract language
- Walrus - Decentralized storage network
- Next.js 16 - React framework
- TypeScript - Type safety
- Tailwind CSS - Styling
- @mysten/dapp-kit - Sui wallet integration
- Lucide React - Icon library
- Node.js - Runtime environment
- Express - Web framework
- TypeScript - Type safety
- Walrus SDK - Storage operations
- Sui SDK - Blockchain interactions
sequenceDiagram
Artist->>Frontend: Connect Wallet
Frontend->>Smart Contract: Register Artist
Smart Contract->>Blockchain: Create Artist Record
Blockchain-->>Artist: Artist ID Created
sequenceDiagram
Artist->>Frontend: Upload Audio File
Frontend->>Backend: Send File
Backend->>Walrus: Store Audio
Walrus-->>Backend: Blob ID
Backend->>Smart Contract: Register Song
Smart Contract-->>Artist: Song Published
sequenceDiagram
Listener->>Frontend: Play Song
Frontend->>Smart Contract: Process Payment
Smart Contract->>Artist: Transfer Micropayment
Frontend->>Walrus: Stream Audio
Walrus-->>Listener: Audio Stream
# Backend tests
cd backend
npm test
# Contract tests
cd contracts
sui move test# Frontend
cd frontend
npm run build
# Backend
cd backend
npm run buildThis project is licensed under the MIT License - see the LICENSE file for details.
Empowering artists through decentralization
Website β’ Documentation β’ Demo