- Understand the ERC-721 standard
- Understand basic syntax of Solidity
- Implement ERC-721 standard in Solidity with @OpenZeppelin
- Create a new Remix IDE https://remix.ethereum.org workspace via @OpenZeppelin ERC-721 template:
a) From @OpenZeppelin Wizard https://docs.openzeppelin.com/contracts/5.x/wizard
b) From Remix IDE Workspace Template - Compile and deploy to Remix VM
- Transact with the contract
- Add a LIMIT constant to the contract, which will limit the total number of tokens that can be minted.
- Add minting rules for each address (e.g. 10 tokens per address)
- Add a price to mint a token (e.g. 0.1 ETH) and send the ETH to the contract owner
- Implement a custom URL for tokenURI(tokenId)
- Instead of limited mint by strict limit, progressive increase the price of the minting.
- Instead of using ETH, use ERC20 token as the payment method.
- Implement tokenURI(tokenId) with Base64 encoded SVG image to make the token fully on-chain.
- Solidity - https://docs.soliditylang.org/en/v0.8.23/
- OpenZeppelin Contracts - https://docs.openzeppelin.com/contracts/5.x/
- Remix IDE - https://remix.ethereum.org
- ERCs & EIPs - https://eips.ethereum.org/erc
- Metadata Standard (Opensea) - https://docs.opensea.io/docs/metadata-standards