Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yuvrajchandra/musomatic


https://github.com/yuvrajchandra/musomatic

Last synced: 2 days ago
JSON representation

Awesome Lists containing this project

README

        

# Musomatic

Musomatic Home



Musomatic is a decentralized platform where musicians can put up music/songs as NFTs. These NFTs can then be traded and each time an NFT gets traded, the musician will receive a certain percent of the trade as royalty! The main essence of the platform is to uplift music creators as they really do not get enough recognition and monetary benefits or royalties from the current available sources.

Website link- Musomatic

## Tech Used

### Frontend






### Smart Contract and Backend




### Other

IPFS, Ganache, Truffle, Web3.js, Metamask, Infura, Moralis, Zapier, Stream

## How to setup

- Fork the repo to your account

- Clone the forked repo to your local system using `git clone https://github.com//Musomatic`

- Connect your local repo to the upstream using `git remote add upstream https://github.com/Pushpit07/Musomatic`

- Run `npm install` to install npm dependencies

- Start the local development blockchain on Ganache

- Connect Metamask to local Ganache blockcahin

- Run `truffle migrate --reset` in the terminal

- Run `npm start` to start the React application

## How to contribute?

- **DO NOT** make and push changes to the main branch!

- **Always** keep your main/working branch in sync with the main repository `git pull upstream main` on the branch you are working on locally.

- **Always create a new branch** before making any changes `git checkout -b `, never ever make any changes directly on the master/main branch.

## Running the Test Script

Just run: `truffle test`

## Migrate the Contract after making any changes inside the contracts folder

`truffle migrate --reset`

## Testing in Truffle console

- Run: `truffle console`

- `Musomatic.deployed().then(function(instance) {contract = instance})`

- Test the deployed contract:

`contract.address`

`contract.name()`

`contract.symbol()`

- To check the created song:
`contract.songs(0)`

## Migrating to Polygon Testnet

- `truffle migrate --network polygonTestnet`