This project aims to revolutionize the world of digital collectibles by leveraging AI technology. With this app, users are able to mint AI-Generated NFTs, participate in auctions, trade NFTs with other users and earn royalties on secondary sales. Additionally, the app provides a seamless experience for creators to showcase their artwork and establish their brand through personalized NFT creator profiles.
Solidity
Hardhat
React.js
ethers.js
web3modal
material ui
Please install or have installed the following:
- nodejs and yarn
- MetaMask Chrome extension installed in your browser
- Ganache for local smart contracts deployement and testing.
The app uses web3.storage
api to upload the generated NFT image & metadata into IPFS, so you need to create an account and a new api token here, when you finish add your api token into the src/utils/ipfsStorage.js
file:
const web3storage_key = "YOUR-WEB3.STORAGE-API-TOKEN";
As mentioned before the contracts are developed with the Hardhat framework, before deploying them you must first install the required dependancies by running :
cd smart_contracts
yarn
Next you need to setup the environement variables in the .env file, this are used when deploying the contracts :
POLYGONSCAN_API_KEY = 'your polygonscan api key'
POLYGON_RPC_URL="Your polygon RPC url from alchemy or infura"
MUMBAI_RPC_URL="Your mumbai RPC url from alchemy or infura"
PRIVATE_KEY="your private key"
- NOTE : Only the private key is needed when deploying to the ganache network, the others variables are for deploying to the testnets or real networks and etherscan api key is for verifying your contracts on polyon etherscan.
After going through all the configuration step, you'll need to deploy the 3 contracts to the ganache network by running:
yarn deploy-ganache
This will create a config.js file and an artifacts folder and transfer them to the src folder to enable the interaction between the contract and the UI
If you want to run the contracts unit tests use the command :
yarn test
To start the user interface just run the following commands :
cd front-end
yarn
yarn start