123456789101112131415161718192021222324252627 |
- // SPDX-License-Identifier: MIT
- pragma solidity ^0.8.20;
- import {ERC721} from "../../../token/ERC721/ERC721.sol";
- import {Strings} from "../../../utils/Strings.sol";
- import {Base64} from "../../../utils/Base64.sol";
- contract Base64NFT is ERC721 {
- using Strings for uint256;
- constructor() ERC721("Base64NFT", "MTK") {}
- // ...
- function tokenURI(uint256 tokenId) public pure override returns (string memory) {
- // Equivalent to:
- // {
- // "name": "Base64NFT #1",
- // // Replace with extra ERC-721 Metadata properties
- // }
- // prettier-ignore
- string memory dataURI = string.concat("{\"name\": \"Base64NFT #", tokenId.toString(), "\"}");
- return string.concat("data:application/json;base64,", Base64.encode(bytes(dataURI)));
- }
- }
|