Skip to content

Create your own NFTs with Solidity smart contract + javascript to generate random images from layers & metadata

Notifications You must be signed in to change notification settings

GautierED/MyNFTs

Repository files navigation

This project let you create NFTs from scratch without any coding knowledge. To create NFTs you need to do 2 things :

  • create a solidity smart contract with a minting & setBaseURI functions. this smart contract will define how many NFTs will be minted, how many can be minted per one person and the NFT's price.

  • generate images and metadata randomly from differents layers you will need to create images for each one of you NFTs. Thanks to https://github.com/HashLips/generative-art-node code, we just need to create the layers we want to use. don't forget to modify config.js file accordingly to your layers. I modified it so it generates 2 folders : one for the metadatas and another one for the images. I added the URI generation to make it way much easier. Each images has its own CID generated from the hash function. This CID is added to the metadata.

Tech used :

Step to generate your NFTs and upload them to IPFS :

  • create your layers
  • modify generate_design/src/config.js according to your layers
  • generate images from the layers
  • upload the metadata folder to Pinata
  • upload each images to Pinata
  • modify the smart contract according to your needs (number of NFTs, price, etc...)
  • compile and deploy the solidity smart contract to ethereum rinkeby using Hardhat or Remix
  • take the metadata folder's CID and set it as the base URI using the smart contract's setBaseURI function
  • mint your NFTs using the smart contract's mint function
  • use the tokenURI function to access your metadata stored on IPFS
  • you can also use OpenSea to watch your NFTs

About

Create your own NFTs with Solidity smart contract + javascript to generate random images from layers & metadata

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published