This repo contains two examples on how custom smart contract can be used to mass mint NFTs in a single transaction
- Solidity (writing smart contracts)
- TypeScript (scripts & testing)
- HardHat (smart contract developer framework)
- Ethers.js (blockchain interaction)
- Alchemy (node provider)
- OpenZeppelin (secure contract library)
- HardHat Deploy (deploying and interacting with contracts)
- HardHat Deploy Ethers (interaction with the Ethereum blockchain)
- HardHat Ethernal (local blockchain explorer)
To install the repo and all dependencies run
git clone https://github.com/NME-eth/NFT-Minting-Bot.git
cd NFT-Minting-Bot
npm install
Set up the .env
config file. I recommend signing up to Alchemy but any other node provider works.
MAINNET_URL=https://eth-mainnet.alchemyapi.io/v2/"<your-api-key-here>"
DOODLES_FORK_BLOCKNUM=13439086 // block number for when doodles start public minting
ADIDAS_FORK_BLOCKNUM=13439086 // block number for when adidas nfts start public minting
MNEMONIC="<your-twelve-word-mneomonic-here>"
we will create our test environment by running our own local blockchain which forks from the Mainnet at the blocks specified in our config file
If you find any issues or ways that this methodolgy could be improved create a pull request and it will be merged into the main branch if accepted.
This repo has been created for educational purposes and as a tool for myself and others to learn how to implement various web3 tools to conduct tasks such as writing/deploying/testing/interacting with smart contracts. I do not endorse the usage of bots to gain an unfair advantage over regular onchain users.