Implement NFT Standards and Smart Contracts
ERC-721 and ERC-1155 NFT templates - royalties, soulbound tokens, dynamic NFTs, and gas-optimized minting.
Why it matters
Develop and deploy smart contracts for Non-Fungible Tokens (NFTs) using industry-standard protocols like ERC-721 and ERC-1155. This includes handling metadata, royalties, and advanced features for various NFT applications.
Outcomes
What it gets done
Implement ERC-721 and ERC-1155 NFT contracts.
Manage on-chain and off-chain metadata best practices.
Integrate royalty and revenue sharing mechanisms (EIP-2981).
Develop dynamic NFTs and soulbound tokens.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-nft-standards | bash Overview
NFT Standards
Deployable ERC-721 and ERC-1155 Solidity templates covering metadata (on-chain and IPFS), EIP-2981 royalties, soulbound tokens, dynamic NFTs, and ERC721A gas-optimized minting. Use when creating NFT collections, implementing royalties, building on-chain or off-chain metadata, or building soulbound or dynamic NFTs.
What it does
NFT Standards masters ERC-721 and ERC-1155 NFT standards, metadata best practices, and advanced NFT features. It provides full deployable Solidity templates for both core standards - an ERC-721 collection (ERC721URIStorage + ERC721Enumerable + Ownable, with a supply cap, mint price, max-per-mint limit, and a withdraw function) and an ERC-1155 multi-token contract (GameItems, with per-token-ID supply caps for named item types like SWORD/SHIELD/POTION) - plus metadata standards for both off-chain JSON (IPFS-hosted, with name/description/image/attributes including typed traits) and fully on-chain metadata generated via Base64-encoded JSON built from a struct of trait values. Royalties follow EIP-2981, exposing a royaltyInfo function that computes the payout from a configurable fee in basis points:
function royaltyInfo(uint256 tokenId, uint256 salePrice)
external
view
override
returns (address receiver, uint256 royaltyAmount)
{
return (royaltyRecipient, (salePrice * royaltyFee) / 10000);
}
capped at a hard maximum fee the contract itself enforces on-chain. Soulbound (non-transferable) tokens block transfers in _beforeTokenTransfer while still allowing minting, and self-burning by the owner. Dynamic NFTs track mutable on-chain state (level, experience, lastUpdated) that changes tokenURI's output as the token evolves. Gas-optimized minting uses ERC721A for batch mints at lower gas cost than sequential ERC-721 minting.
When to use - and when NOT to
Use this skill when creating NFT collections for art, gaming, or collectibles, implementing marketplace functionality, building on-chain or off-chain metadata, creating soulbound (non-transferable) tokens, implementing royalties and revenue sharing, or developing dynamic/evolving NFTs.
Inputs and outputs
Given an NFT task, the skill outputs a deployable Solidity contract matched to the need - ERC-721, ERC-1155, royalty-enabled, soulbound, dynamic, or gas-optimized via ERC721A - plus the matching metadata format, on-chain or IPFS-hosted. Seven best practices are stated explicitly: use OpenZeppelin's battle-tested, audited implementations, pin metadata via an IPFS pinning service, implement EIP-2981 royalties for marketplace compatibility, use ERC721A for gas-optimized batch minting, use a placeholder-then-reveal mint pattern, support walletOfOwner-style enumeration for marketplaces, and use Merkle trees for efficient, gas-cheap whitelisting.
Integrations
Built on OpenZeppelin's ERC721/ERC721URIStorage/ERC721Enumerable/ERC1155/IERC2981 contracts and the erc721a package for gas-optimized minting. Names marketplace-specific integration requirements: OpenSea (ERC-721/1155 and metadata standards), LooksRare (royalty enforcement), Rarible (protocol fees, lazy minting), and Blur (gas-optimized trading).
Who it's for
Smart contract developers building NFT collections, game items, soulbound credentials, or dynamic/evolving tokens who want audited-pattern Solidity templates for the core standards plus royalties, gas optimization, and marketplace compatibility, rather than writing ERC-721/1155 compliance and interface support from scratch.
FAQ
Common questions
Discussion
Questions & comments ยท 0
Sign In Sign in to leave a comment.