/DynamicNFTMinterBot

Final project for blockchain elective course in Innopolis university

Primary LanguagePython

Dynamic_NFT_bot

This is a Telegram bot that allowes you to mint dynamic NFTs.

I have created this bot using Solidity, Infura, MongoDB, OpenZeppelin, Python and pyTelegramBotAPI.





Prerequisites

Please install or have installed the following:

Installation

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 telebot, web3.py and ipfs that we're going to use it to store our metadata

pip install web3
pip install eth-brownie
pip install ipfshttpclient
pip install pyTelegramBotAPI

Usage

Run this command to initalize ipfs:

ipfs daemon 
export IPFS_FILE_URL = "File_url"
export IPFS_CONNECT_URL= "Connect_url"


Deploy the smart contract using brownie:
First clone this repository and then deploy the smart contract. I used Remix for compiling and deploying the contract.


Now you need to set your Api_key and web3_provider(Alchemy or Infura)
Use @botFather to create your bot and get Api_key

export WEB3_PROVIDER= "Web3_provider"
export API_KEY= "Api_key"


Finally use this command to run the bot.

python3 main.py