CoolFace
Modelpublic

RHP27042002/AI_NFT_generator

sourceHugging Facemitupdated 3y agoView on Hugging Face
0likes
Model Card

// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0;

import "@openzeppelin/contracts/utils/Counters.sol"; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";

contract NFT is ERC721URIStorage { using Counters for Counters.Counter; Counters.Counter private _tokenIds;

address public owner; uint256 public cost;

constructor( string memory name, string memory symbol, uint256 cost ) ERC721(name, symbol) { owner = msg.sender; cost = cost; }

function mint(string memory tokenURI) public payable { require(msg.value >= cost);

_tokenIds.increment();

uint256 newItemId = tokenIds.current(); mint(msg.sender, newItemId); _setTokenURI(newItemId, tokenURI); }

function totalSupply() public view returns (uint256) { return _tokenIds.current(); }

function withdraw() public { require(msg.sender == owner); (bool success, ) = owner.call{value: address(this).balance}(""); require(success); } }