Skip to content

Latest commit

 

History

History
90 lines (61 loc) · 1.72 KB

README.md

File metadata and controls

90 lines (61 loc) · 1.72 KB

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

link : Click!

Steps

1. Clone Repository

git https://github.com/lampungnetworking/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