@buidlguidl
OpenZeppelin is your best friend:
Don't reinvent the wheel! Use audited, battle-tested contracts:
- ERC721.sol - Base implementation
- ERC721URIStorage.sol - Per-token URIs
- ERC721Enumerable.sol - Token listing
- ERC721Burnable.sol - Allow burning