// the find
PatrickAlphaC/all-on-chain-generated-nft
A repo for generating random NFTs with metadata 100% on chain!
A Hardhat project demonstrating two techniques: storing NFT metadata entirely on-chain as base64-encoded SVGs, and generating random SVGs using Chainlink VRF. Aimed at Solidity developers who want to understand on-chain generative art without relying on IPFS or external metadata servers.
The core concept is genuinely useful — base64-encoding SVGs directly into the tokenURI means the art survives even if the project team disappears, which most NFT projects can't say. Using Chainlink VRF for randomness is the correct approach; block hashes are manipulable and this avoids that pitfall. The two-contract split (deterministic SVGNFT vs. random RandomSVG) makes the comparison between approaches clear and educational. Hardhat deploy scripts are organized with tags so you can deploy components independently.
Targets Rinkeby, which was deprecated and shut down in 2022 — any newcomer following these instructions will hit dead ends immediately with the RPC URLs and testnet faucets. The random SVG generation produces only line paths with M/L commands, so the output is always a scribble of colored lines; it's a proof of concept, not something aesthetically interesting. No mainnet deployment path or gas cost analysis, which matters a lot when you're storing SVG strings on-chain — a complex image can cost hundreds of dollars to mint. The test command in the README has a typo (`harhat` instead of `hardhat`).