mikker / svgnft

Making it slightly easier to create fully on-chain SVG-based NFTs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

svgnft

A helper library for generating fully on-chain NFTs (ERC721) on Ethereum.

Being on-chain is fun!

Example

See example/. Override tokenUri with something like:

  function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
    string memory name = string(abi.encodePacked("MyToken #", tokenId.toString()));
    string memory description = "An example SVG-based, fully on-chain NFT";
    string memory svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><circle cx={500} cy={500} r={400} fill="papayawhip" /></svg>';

    return SVG721.metadata(name, description, svg);
  }

That's it!

Install

Using hardhat.

npm install --save-dev svgnft
# or
yarn add --dev svgnft

In your contract

import "svgnft/contracts/SVG721.sol";

License

MIT

Base64.sol by Brecht Devos.

About

Making it slightly easier to create fully on-chain SVG-based NFTs.


Languages

Language:Solidity 72.2%Language:JavaScript 27.8%