Do I need ERC721 implementation for selling digital images or are they automatically NFTs?

Hey everyone, I need some help with understanding NFTs and token standards.

I’m building a smart contract where users can create posts with images, titles, descriptions, and prices. The data gets stored in a struct and users input everything through my frontend interface.

My question is about the buying and selling functionality I want to add. If users can purchase and resell these image posts, does that make them NFTs automatically? Or do I have to implement the ERC721 standard and host metadata somewhere to make them proper NFTs?

Right now I’m just storing everything in my contract’s data structures instead of using ERC721 methods. I’m wondering if this approach is enough or if I’m missing something important.

Thanks for any help you can provide!

This sounds really cool! What kind of experience are you building for users though?

Are they going to trade these images on external platforms, or keeping everything in a closed ecosystem? That’ll help decide if you need ERC721 now or can start simple and upgrade later.

Also, what about royalties for creators when people resell? Without proper standards, you’d have to build all that logic from scratch.

One thing I’m curious about - how do you handle ownership right now? If someone buys an image, what stops the original uploader from just uploading it again? And what happens when you update your contract?

Have you thought about a hybrid approach? Keep your current struct system but also mint ERC721 tokens that reference them. Might give you the best of both worlds without rebuilding everything.

No, just storing image data in your contract doesn’t make them NFTs. You’ve essentially created a custom database rather than non-fungible tokens. NFTs require ERC721 standard functions like transferFrom, approve, and ownerOf, which enable actual ownership transfers and interactions with marketplaces. While your setup may facilitate buying and selling within your own platform, external wallets and services will not recognize these as legitimate NFTs. Additionally, be cautious of gas costs, as storing large amounts of data directly on contracts can become quite expensive. Most projects utilize IPFS for metadata and only store the hash on-chain to reduce costs.

yep, u def need ERC721 for those images to be legit NFTs. just storing them isn’t enough, u hafta implement the standard for compatibility with wallets n marketplaces like OpenSea too.