Musicen ?
Mucisen is Decentralize Music App Built with Next Js, Hardhat, Solidity, Arweave + Bundlr Client and all of the style magic with Tailwind CSS.?
Functionalities
- Upload Song
- Search Songs
- Song Details
- Play Song
Stack
- Frontend : Next Js
- Smart Contract Lang : Solidity
- Indexing : The Graph
- Dev Environment for ETH Software: Hardhat
- Testing: Chai
- File Storage : Arweave
- Scaling Permenant Storage – Bundlr.network
- Network : Polygon
- Style : Tailwind CSS
- State management : GraphQL Apollo Client
- Toast: React Toastify
- Fonts – Google Fonts
- Icons : Iconsax React
Installation
Fork The Repo
Click on the Right Side of the Top Bar to After the Watch button.
Now It will be available in GitHub Account.
OR
Clone
- Clone this repo with url
git clone https://github.com/Aakrut/musicen
Setup
Install npm dependencies using npm install
cd musicen && npm install
Set up environment Variables I already Provided .env.example file.
Create a .env file in the root directory.
Set up required environment variables.
URL="POLYGON_TESTNET_URI"
PRIVATE_KEY="METAMASK_PRIVATE_KEY"
NEXT_PUBLIC_CONTRACT_ADDRESS="CONTRACT_ADDRESS"
NEXT_PUBLIC_GRAPHQL_URI="GRAPHQL_URL"
In the Root Directory First Compile Your Smart Contract with This Following Command.
npx hardhat compile
After Deploy Smart Contract to the Polygon Mumbai Testnet with this command.
npx hardhat run scripts/deploy.js --network mumbai
Copy Smart Contract Address and replace it in with your “CONTRACT_ADDRESS”
NEXT_PUBLIC_CONTRACT_ADDRESS="CONTRACT_ADDRESS"
For Setting up Graph Protocol – The Graph
now replace the graph url with
NEXT_PUBLIC_GRAPHQL_URI="GRAPHQL_URL"
Let’s Run this command for dev
npm run dev
--or--
yarn dev