Music NFT IPFS Metadata
Standard for musicians pioneered by Catalog & Mint Songs.
- WARNING: this code is unauditedYou Newest Tool for Music NFTs (decentralized on IPFS)
- Your Music NFT Smart Contract (ERC721).
- Your Music NFT in OpenSea
- Works out of the box.
- 100% free CC0 technology (MIT License - use this w/o crediting me).
Get Started
To add music NFT metadata to your next music NFT drop, just
1. npm - `npm i music-metadata-ipfs`
1. yarn - `yarn add music-metadata-ipfs`
2. `import "onchain-music-metadata/contracts/OnChainMusicMetadata.sol";`
3. `contract MyMusic is OnChainMusicMetadata`
4. use the `musicTokenUri(tokenId)` method freely.
### Example Music NFT:// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.15;
import "onchain-music-metadata/contracts/Example/ExampleToken.sol"; import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract MusicNFT is ERC721, ExampleToken { uint256 songId;
constructor() ERC721("music nft", "mnft") {
songId = 0;
setupSongMetadata();
setupProjectMetadata();
}
function mint() public {
songId++;
_mint(msg.sender, songId);
}
function tokenURI(uint256 _tokenId)
public
view
virtual
override(ERC721)
returns (string memory)
{
require(_exists(_tokenId), "tokenId doesn't exist");
return musicTokenUri(_tokenId);
}
}
How to deploy
- yarn && yarn publish
### Credits:
- [DanielAbalde/NFT-On-Chain-Metadata](https://github.com/DanielAbalde/NFT-On-Chain-Metadata)
- [Zora Editions](https://github.com/ourzora/zora-drops-contracts/blob/main/src/metadata/EditionMetadataRenderer.sol)
- [Nouns DAO #177](https://nouns.wtf/)
### More info
Checkout our [Github](https://github.com/SweetmanTech/MUSIC-METADATA-IPFS) for the latest changes.

