Each NFT consists in a random combination of three words, which is supposed to give something funny and unique!
This project was built while following along the awesome buildspace NFT project that made me discover the world of NFTs.
This project ships with the contract deployment logic as well as with a complete frontend built with the ReactJS framework.
I deployed the project on Heroku! You should be able to mint some NFTs if you want too! (unless they are out of stock since I put a limit of 150).
If you want to deploy this contract, you need to provide a few environment variables that are going to be used by the hardhat config (./hardhat.config.js).
For that you can either export these variables into your current shell environment or use a .env file in conjunction with a package like dotenv
In case you want to make sure contract builds as expected and can be deployed, just run deploy.sh without any argument.
This script does the following three things:
This small NFT project is designed to run on the rinkeby ethereum testnet. Use deploy.sh in real mode to deploy the contract on the rinkeby network (you'll need to pay the required gas for that, so make sure you have enough funds).
The contract should have been deployed, and the frontend should automatically get the new contract address and ABI.
You can run the react app like you would run any react app, in development or production mode.
OpenSea is the most popular and largest NFT marketplace. Since we deployed our contract and started to have some NFT minted, the collection should be viewable on the opensea testnet (testnet, because we deployed our contract on the rinkeby testnet - no real money was involved).
The link to the OpenSea collection can't be guessed from the informations the frontend receives, so it is required to hardcode it as I did in this file. However, a more consistent solution would be to use the OpenSea API for that.