AI_NFT_generator / README.md
RHP27042002's picture
Update README.md
85d0705
metadata
license: mit
datasets:
  - OpenAssistant/oasst1
language:
  - en
metrics:
  - character
pipeline_tag: text-generation
tags:
  - code
library_name: adapter-transformers

// 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);
}

}