From bfdd3fb163de69edcb085d25d67ae146fc585c57 Mon Sep 17 00:00:00 2001 From: Shriyam-Avasthi Date: Mon, 1 Apr 2024 15:54:21 +0530 Subject: [PATCH 1/2] NFT Mint Contract Solution --- contracts/NFTContract.sol | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 contracts/NFTContract.sol diff --git a/contracts/NFTContract.sol b/contracts/NFTContract.sol new file mode 100644 index 0000000..1705c47 --- /dev/null +++ b/contracts/NFTContract.sol @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; + +contract NFTContract is ERC721 { + + uint256 private _tokenIds = 0; + uint256 private _totalMinted = 0; + + string[] private tokenURIs; + uint256 public PRICE_PER_TOKEN = 0.01 ether; + + uint256 public LIMIT_PER_ADDRESS = 5; + uint256 public MAX_SUPPLY = 5; + + constructor() ERC721("NFTContract", "NFT") + {} + + function mintNFT( address owner ) + payable + external + returns (uint256) + { + uint256 newItemId = _tokenIds; + _safeMint(owner, newItemId); + + _tokenIds++; + _totalMinted++; + return newItemId; + } +} From ca48c9862fcea837135505b61580b61881af261c Mon Sep 17 00:00:00 2001 From: Shriyam-Avasthi Date: Mon, 1 Apr 2024 15:58:42 +0530 Subject: [PATCH 2/2] Update NFTContract.sol --- contracts/NFTContract.sol | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/contracts/NFTContract.sol b/contracts/NFTContract.sol index 1705c47..97813c9 100644 --- a/contracts/NFTContract.sol +++ b/contracts/NFTContract.sol @@ -6,14 +6,8 @@ import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract NFTContract is ERC721 { uint256 private _tokenIds = 0; - uint256 private _totalMinted = 0; - - string[] private tokenURIs; uint256 public PRICE_PER_TOKEN = 0.01 ether; - uint256 public LIMIT_PER_ADDRESS = 5; - uint256 public MAX_SUPPLY = 5; - constructor() ERC721("NFTContract", "NFT") {} @@ -22,11 +16,11 @@ contract NFTContract is ERC721 { external returns (uint256) { + require(PRICE_PER_TOKEN <= msg.value, "Ether paid is incorrect"); uint256 newItemId = _tokenIds; _safeMint(owner, newItemId); _tokenIds++; - _totalMinted++; return newItemId; } }