Create NFTs using 3 different contracts:
- Basic NFT contract (ERC721), using own IPFS node
- Random IPFS image NFT contract, using Pinata to pin images
- Dynamic SVG NFT contract, host data directly on contract
- Clone the repo
- Install dependencies:
npm install
use--legacy-peer-deps
when encountering errors - Create .env file from .env.example
cp .env.example .env
and fill in the values - To run tests:
npx hardhat test:unit
- To run local node with contract deployed run:
npm run chain
- To deploy on testnet:
npm run deploy:main:sepolia
to deploy on sepolia testnet ordeploy:main:local
to deploy on local node - If deployed on sepolia or other testnet navigate to Chainlink VRF create subscription and add Random IPFS image NFT contract address as consumer and then to mint run
npm run deploy:mint:sepolia
- Testnet nfts can be found on OpenSea testnet