Skip to content

limiter0x/swisstronik-erc721-contract

Repository files navigation

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

link : Click!

Steps

1. Clone Repository

git clone https://github.com/MusaDauda/swisstronik-erc721-contract.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

About

Swisstronik ERC721 Contract Challenge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published