Full stack NFT Minter Dapp using Python, Flask, Solidity and IPFS that can help you to create your NFTs automatically
What is a Minter NFT? A simple UI where you can input a link to your digital asset, a title, and a description
Please install or have installed the following:
Install virtualenv, if you haven't already. Here is a simple way to install venv.
python -m pip install --user virtualenv
python -m virtualenv --help
Or, if that doesn't work, via pipx
pipx install virtualenv
virtualenv --help
Create a Virtual Environments and active venv
python3 -m virtualenv venv
cd venv/bin
source activate
After that you need install flask, web3.py and ipfs that we're going to use it to store our metadata
pip install web3
pip install flask
pip install ipfshttpclient
pip install eth-brownie
Run this command to initalize ipfs:
ipfs daemon
export IPFS_CONNECT_URL= "Connect_url"
First clone this repo and after that, you need to deploy the smart contract with brownie or web3.py it's up to you, the easiest way is to use brownie.
- Deploy using web3.py:
cd src
python3 deploy_contract.py
- Deploy using brownie: ''you can use other network instead of rinkeby''
cd contracts
brownie run scripts/deploy.py --network rinkeby
Now you need to set your private_key and web3_provider(use Infura or Alchemy)
export WEB3_PROVIDER= "Web3_provider"
export PRIVATE_KEY= "Private_key"
Then go to the src/mint_token.py, set your smart contract address and use this command to run the app
cd src
flask run
To get started with Brownie:
- "Getting Started with Brownie" is a good tutorial to help you familiarize yourself with Brownie.
- For more in-depth information, read the Brownie documentation.
- "Getting Started with Flask" a quickstart for flask
- "Getting Started with IPFS" getting started with python and ipfs
- "Getting Started with web3.py" web3.py quickstart
- "Introduction to ERC721 standard" ERC721 standard tutrial
- "OpenZeppelin libraries docs"OpenZeppelin contracts documentation
This project is licensed under the MIT license.