Swisstronik Tesnet Techinal Task 3 (Mint a ERC-721 Token)

link : Click!

Feel free donate to my EVM address

EVM :

0xf2643d45d78593d5c3445023f43dff7531822b92

Steps

1. Clone Repository

git clone https://github.com/elleblushing/swisstronik-erc721-mint-token.git
cd swisstronik-erc721-mint-token

2. Install Dependency

npm install

3. Set .env File

create .env file in root project

PRIVATE_KEY="your private key"

4. Update Smart Contract (Skipp if you won't modify NFT name)

  • Open contracts folder
  • Open Nft.sol file
  • Feel free to modify token name and token symbol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract TestNFT is ERC721 {
    uint256 private _currentTokenId = 0;

    event NFTMinted(address recipient, uint256 tokenId);

    constructor() ERC721("IzzyNFT", "IZZNFT") {}

    function mintNFT(address recipient) public returns (uint256) {
        _currentTokenId += 1;
        uint256 newItemId = _currentTokenId;
        _mint(recipient, newItemId);

        emit NFTMinted(recipient, newItemId);

        return newItemId;
    }

    function burnNFT(uint256 tokenId) public {
        _burn(tokenId);
    }
}

5. Compile Smart Contract

npm run compile

6. Deploy Smart Contract

npm run deploy

7. Mint Token

npm run mint

8. Finsihed

  • Open the deployed-adddress.ts (location in utils folder)
  • Copy the address and paste the address into testnet dashboard
  • Open the tx-hash.txt (location in utils folder)
  • Copy the address and paste the tx hash link into testnet dashboard
  • push this project to your github and paste your repository link in testnet dashboard