finds.dev← search

// the find

PatrickAlphaC/nft-mix

★ 808 · Solidity · MIT · updated Apr 2024

A Brownie-based starter kit for deploying ERC-721 NFTs on Ethereum, featuring a simple fixed-URI contract and an advanced version that uses Chainlink VRF for randomized token traits. Built as a teaching tool by PatrickAlphaC; the target audience is developers learning NFT mechanics and Chainlink integration, not anyone building production NFTs.

The two-tier structure (simple vs. advanced) is genuinely useful for learning — you can see the complexity that VRF adds without it being mixed into a single bloated contract. Chainlink VRF integration is implemented correctly with the fulfillRandomness callback pattern, which is the right way to do on-chain randomness. The test suite covers both unit tests with mock VRF coordinator and integration tests against a real testnet, which is more than most tutorial repos bother with. IPFS metadata handling is practical — pre-baked metadata lets you skip running a local node, and Pinata upload is included as an alternative.

Brownie is effectively unmaintained and its Python 3.11+ compatibility is broken for many users; starting a new project on it in 2024 means inheriting that debt immediately. The contracts use Chainlink VRF v1, which is deprecated — Sepolia support for v1 is limited and the recommended path is VRF v2 or v2.5. The metadata is hardcoded JSON files committed to the repo rather than generated dynamically, so any real variation in traits requires manually editing JSON blobs. No on-chain royalty standard (EIP-2981) is implemented, which means OpenSea royalties depend on their off-chain enforcement, which they've been dismantling.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →