Swisstronik Testnet Technical Task 3: Mint an ERC-721 Token

Written by FURI1 min read

Swisstronik Testnet Technical Task 3: Mint an ERC-721 Token
On this page

Swisstronik testnet technical task | Mint an ERC-721 (NFT) token.


Clone Repository#

text
1git clone https://github.com/rpxtxt/swisstronik-erc721-mint-token.git
2cd swisstronik-erc721-mint-token

Install Dependencies#

text
npm install

Set Environment Variables#

Create a .env file in the project root:

text
PRIVATE_KEY="your private key"

Update Smart Contract#

Open contracts/Nft.sol and update it:

text
1// SPDX-License-Identifier: MIT
2pragma solidity ^0.8.20;
3
4import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
5
6contract TestNFT is ERC721 {
7    uint256 private _currentTokenId = 0;
8
9    event NFTMinted(address recipient, uint256 tokenId);
10
11    constructor() ERC721("NameNFT", "NFTSYMBOL") {}
12
13    function mintNFT(address recipient) public returns (uint256) {
14        _currentTokenId += 1;
15        uint256 newItemId = _currentTokenId;
16        _mint(recipient, newItemId);
17
18        emit NFTMinted(recipient, newItemId);
19
20        return newItemId;
21    }
22
23    function burnNFT(uint256 tokenId) public {
24        _burn(tokenId);
25    }
26}

Compile, Deploy, and Mint#

text
1npm run compile
2npm run deploy
3npm run mint

Keep reading

All articles