Skip to content

Latest commit

 

History

History
84 lines (61 loc) · 2.93 KB

README.md

File metadata and controls

84 lines (61 loc) · 2.93 KB

BeatSpire - Experience Music And NFTs like Never before

Step into the world of music NFTs And immerse yourself in a Revolutionary new way to experience And collect music.

Contract Details

  • Contract written in solidity and deployed in Polygon Mumbai net
  • Uses the protocol of ERC 721 to mint token URI of music art uploaded to IPFS
  • Utilized Hardhat for deployement and testing

To deploy your own contract :-

  1. Add Polygon mumbai to your wallet
  2. Get yourself a polygonscan API
  3. Navigate to /src/Contracts
  4. Refer to env_sample file and create your env with required fields mentioned.
    PRIVATE_KEY = "" 
    POLYGONSCAN_API_KEY=""
    
  5. Go to terminal and run npm install or yarn install to install dependecies.
  6. And in hardhat perform :- To compile:-
    npx hardhat compile
    To deploy (You may modify the hardhat config according to network of your choice):-
    npx hardhat run scripts/deploy.js --network polygon_mumbai
    And save the contract address for frontend fetch use

⚠️⚠️Drive Link for public folder with media assets

[https://drive.google.com/drive/folders/1wFZoHpPz9pUIDnYFwVry-TbJQmA8foMv](url)

Integration Details

1) Frontend UI uses ReactJUS styled using tailwindCSS , MUI and styled components modules 2) Uploading media to IPFS and getting CID is made possible by API by [NFT.STORAGE](https://nft.storage) 3) Using Alchemy endpoint RPC to connect app to deployed smart contract. 4) Also uses the power for Google Firebase Firestore for a smooth offchain storage of user/NFT data .

To integrate firebase backend :-

  1. Start a new firebase server at your console.
  2. Create a new web app in firebase server and copy paste the config the config accordingly at FirebaseConfig.js located in src/BackendConfig folder.
  3. Add collections users,artists,happy,sad,angry.
  4. You can expand collections based on moods to be added.

To integrate blockchain :-

  1. Get a API key from NFT STORAGE to enable your own uploading feature
  2. Go to Alchemy and get a API key with polygon network RPC. (or network of your choice where you have deployed your contract)
  3. Get all API keys and contract address ,finally add it in env file inside root folder. Checkout env_sample file for model env.
REACT_APP_APIKEY = ""
REACT_APP_PUBLIC_NFT_STORAGE_TOKEN=""
REACT_APP_PUBLIC_ALCHEMY_KEY=""
REACT_APP_NFTMARKETPLACE_CONTRACT = ""

To run the application:-

Navigate to root folder in termianl And run the following commands to install dependencies and run app

npm install
npm run start

image

image

image