Implement your Smart contract pragma solidity ^0.8.0; import import import import
“@openzeppelin/contracts/token/ERC721/ERC721.sol”; “@openzeppelin/contracts/utils/Counters.sol”; “@openzeppelin/contracts/access/Ownable.sol”; “@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol”;
contract IstaConNFT is ERC721URIStorage, Ownable { using Counters for Counters.Counter; Counters.Counter private _tokenIds;
constructor() ERC721(“istacon”, “NFT”) {} function mintNFT(address recipient, string memory tokenURI) public onlyOwner returns (uint256) { _tokenIds.increment(); uint256 newItemId = _tokenIds.current(); _mint(recipient, newItemId); _setTokenURI(newItemId, tokenURI); return newItemId; } }