https://ethereum.org/en/developers/tutorials/how-to-write-and-deploy-an-nft/
Alchemy - dev platform for communicating with Eth blockchain Hardhat - dev environment that handles compiling, deploying and debugging your application Ether.js - node lib for interacting with ETH Alchemy - Web3 library IPFS - decentralized file distribution to hold nft metadata
This project contains 2 contracts a simple contact(just minting) and a full nft drop contract that facilitates things like setting royalties, programatically loading tokens and metadata via api, minting single and batch and much more. Because of this there are 2 sets of deploy and mint scripts. deploy and deploySimple, mint and mintSimple
npx hardhat compile
npx hardhat run scripts/(deploy.js | deploySimple.js) --network ropsten view contract here - https://ropsten.etherscan.io/
API_URL="https://eth-ropsten.xxxxxxx" PRIVATE_KEY="34b91xxxxxx" PUBLIC_KEY="0xE3xxxxxx" CONTRACT_ADDRESS="0x469C8e8xxxx"
- follow these steps and put your nft metadata in in the root metadata folder according to the sample files inclided in this project
node scripts/(mint.js | mintSimple.js)
Steps for interacting with the Contract: mint() and mintBatch() - used to mint a single token or a batch of tokens
npx hardhat compile npx hardhat run scripts/(deploy.js | deploySimple.js) --network ropsten - add contract address from logs to .env node scripts/(mint.js | mintSimple.js) - don't forget to wait for the contract to completely deploy in prev step(...transactionHash of undefined...)