Skip to content

Instantly share code, notes, and snippets.

@alex-damjanovic
Created October 25, 2021 16:46
Show Gist options
  • Select an option

  • Save alex-damjanovic/a2fe4367b71ad500774011b8bf612f56 to your computer and use it in GitHub Desktop.

Select an option

Save alex-damjanovic/a2fe4367b71ad500774011b8bf612f56 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// erc721 standard, Counter, Ownable,
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
contract DNFT is ERC721URIStorage, Ownable {
using Counters for Counters.Counter;
Counters.Counter private _tokenIds;
constructor() public ERC721("DonatorNFT", "DNFT") {}
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;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment