Poly-X-DeFi-NFT is a Solidity smart contract project implementing an ERC721 NFT, deployed live on Ethereum. It builds on OpenZeppelin's standard ERC721 implementation, adding auto-incrementing minting, enumeration, URI storage, and ownership management.
Each token's tokenURI points to a JSON metadata file stored on IPFS, which in turn references an image also stored on IPFS (both available in the repo's tokens and art folders).
- Minting — deploy the contract (e.g., via Remix), upload artwork and metadata to IPFS, then call safeMint(address to, string memory uri) to mint tokens, viewable afterward on OpenSea.
- Randomized giveaway — a companion contract (PolyXNFTGiveAwayW2023.sol) distributes NFTs to a list of recipient addresses using a commit-reveal randomness scheme: the owner commits a hashed secret seed (keccak256(address+seed)) before deployment, then reveals it later to shuffle recipients. This prevents the contract owner from manipulating the outcome (since the seed was locked in beforehand) and prevents miners/validators from predicting it (since the seed stays secret until reveal) — giving a fair, unpredictable distribution. At the end of the course, 10 NFTs were distributed this way to students, with the transaction verifiable on Etherscan.