bpolitiadis / hardhat-nft-fcc

This is a sample project demonstrating some basic NFT concepts.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sample NFT Hardhat Project

This project demonstrates some basic concepts of creating an NFT.

BasicNFT.sol : Creates an ERC721 NFT, which has a fixed tokenURI+imageURI that has been uploaded to IPFS previously. Price of minting is free.

RandomIpfsNft.sol : Creates an ERC721 NFT, which first ask a random number from Chainlink VRF Coordinator and mints a provably rare NFT based on a chance array. The deploy script for this contract also uploads to IPFS the three images found on images/randomNft using the Pinata SDK.

DynamicSvgNft.sol : Creates an Dynamic SVG ERC721 NFT which hosts the tokenURI on-chain. This is possible using the SVG properties and storing the hash of an HTML file as a tokenURI for the NFT Tokens. The user inputs a threshold for ETH price and the NFT images changes if ETH price is below or above that threshold.

Try running some of the following tasks:

To install the project:

yarn

To deploy the contracts on hardhat localhost

yarn hardhat deploy

To deploy the contracts in Goerli Ethereum Testnet:

yarn hardhat deploy --network goerli

To run the project's tests

yarn hardhat test

About

This is a sample project demonstrating some basic NFT concepts.


Languages

Language:JavaScript 69.9%Language:Solidity 30.1%