Requirements:
There should only exist 20 Crypto Dev NFT's and each one of them should be unique.
User's should be able to mint only 1 NFT with one transaction.
Whitelisted users, should have a 5 min presale period before the actual sale where they are guaranteed 1 NFT per transaction.
There should be a website for your NFT Collection.
Npm Library used in this project:
Hardhat - https://www.npmjs.com/package/hardhat
Hardhat is an Ethereum development environment and framework designed for full stack development in Solidity.
Used for developing smart contract, compile and deploy.
OpenZeppelin - https://www.npmjs.com/package/@openzeppelin/contracts
A library for secure smart contract development. Build on a solid foundation of community-vetted code.
Implementations of standards like ERC20 and ERC721.
Flexible role-based permissioning scheme.
Reusable Solidity components to build custom contracts and complex decentralized systems.
dotenv - https://www.npmjs.com/package/dotenv
Used for import env file into config to access QuickNode URL and account private key.
Web3Modal - https://www.npmjs.com/package/web3modal
Add support for multiple providers with simple configuration settings. In this project, we use Metamask.
The Ethers Project - https://www.npmjs.com/package/ethers
Create Signer to write transactions
A website that allow people to mint NFT, result as below:
Refer to this link for NFT in OpenSea.
https://testnets.opensea.io/0x719d22fE19F0F91281f5E86129504b29004C42d7?tab=collected
