How to upload a single NFT via thirdweb explorer?

Intro

In this guide, you'll learn how to upload a single NFT using thirdweb explorer. You'll need a JSON file and an image to get started. The idea of this guide is to upload your image first to thirdweb storage and then use the CID as the value for image property inside your metadata file.

Your metadata file will be uploaded again to the thirdweb storage and use the CID of your uploaded metadata as your baseURI in the parameter of the lazyMint function on your smart contract.

Steps

  1. Upload your image to https://thirdweb.com/dashboard/settings/storage and copy the CID after you upload it. The output should be like this: ipfs://abcdefghijk/30.png
    1. Notion image
  1. Create your metadata file, and paste here your image CID using the format below.
    1. {
        "name": "NFT NAME",
        "description": "NFT DESCRIPTION",
        "image": "YOUR_IMAGE_CID_FROM_STEP_1_GOES_HERE",
        "dna": "f8b824d7c1e8c6f9f6cebc0618258438c9c0e8f6",
        "edition": 0,
        "date": 1665696158414,
        "external_url": "",
        "creator": "",
        "attributes": [
          {
            "trait_type": "Attribute Title",
            "value": "Attribute Value"
          },
        ],
        "compiler": "The thirdweb Art Engine"
      }

      Here's an example of the actual metadata of your NFT. Pay attention to image property.

      {
        "name": "Mata NFT #30",
        "description": "A dummy NFT collection of 30 unique pixelated arts based on HashLips Art Engine sample assets. This is for testing purposes only and not real NFT collection.",
        "image": "ipfs://QmUF6KuAZR9oAxd46kSjj7PagBEeL2yrxHYjbUEaVQQvBg/30.png",
        "dna": "f8b824d7c1e8c6f9f6cebc0618258438c9c0e8f6",
        "edition": 0,
        "date": 1665696158414,
        "external_url": "https://github.com/warengonzaga/nft-dummy-assets",
        "creator": "Waren Gonzaga",
        "attributes": [
          {
            "trait_type": "Background",
            "value": "Normal"
          },
          {
            "trait_type": "Eyeball",
            "value": "White"
          },
          {
            "trait_type": "Eye Color",
            "value": "Yellow"
          },
          {
            "trait_type": "Iris",
            "value": "Normal"
          },
          {
            "trait_type": "Shine",
            "value": "Normal"
          }
        ],
        "compiler": "The thirdweb Art Engine"
      }
      💡
      Name your JSON file using the next token ID you would like for Lazy Mint; otherwise, it will not work. If your last token ID is 29, rename your metadata file as 30.
  1. Head to your contract explorer and find the lazyMint under the write section.
    1. Notion image

      All you have to do now is to fill out the form; the amount should be 1 because we supply one metadata only from the baseURI parameter.

      Then click the upload to IPFS to upload your JSON file created above. Make sure it has no extension; simply name it the token ID of your contract, which in this tutorial would be 30.

      Notion image
  1. Once you upload your JSON file, it will show you the CID in a format like this. ipfs://abcdefghijk/30 select that and remove the 30 examples below.
    1. Notion image

      Lastly, the Extra Data leave it as 0x. Click Execute, confirm the transaction, and that's it.

  1. Verify your token URI metadata using the explorer to ensure you correctly uploaded your NFT.
    1. Go to your explorer, click the READ tab, and then look for tokenURI function.
      1. Notion image
    2. Now, input the token ID you have just minted; in our case this is token ID 30
      1. Notion image

        You can click the Open in gateway to confirm that the metadata works.


      Can't get this working? If you've followed the above and still have issues, contact our support team for help.

Did this answer your question?
😞
😐
🤩