Hic Et Nunc Metadata

Leon Nicholls
8 min readOct 22, 2021

--

The HicEtNunc developer shut down the hicetnunc.xyz site. You can use one of the alternative marketplaces such as https://teia.art/.

For each NFT minted on Hic Et Nunc (HEN), an associated metadata file includes the artist’s data and links to the artifacts that make up the NFT. The metadata follows the TZIP-21 spec, and the InterPlanetary File System (IPFS) stores the metadata file.

I thought it would be interesting to download the metadata files for all HEN NFTs and run some queries. I was curious if the metadata went beyond what HEN provides and the various indexer’s support. What I found was an interesting look at the evolution of HEN and how artists are trying to use the HEN marketplace to sell their art.

HEN smart contracts

If you are confused about my statement that the HEN metadata could include information not supported by HEN, then let me explain. That is possible since the HEN minting smart contract can be invoked outside of the HEN GUI using an online form or even programmatically using a Tezos developer library. Calling the smart contract directly allows developers to avoid any restrictions the HEN GUI enforces.

This ability is helpful for developers who want to create their minters or experiment with new uses of HEN NFTs.

Download and process

At this time, there are about 462,220 HEN NFTs, aka OBJKTs. To get the list of all the OBJKTs, you can look at the storage of the HEN NFT smart contract. Here you will find a ledger that tracks each OBJKT ID to its associated metadata file.

I wrote a program using the Taquito library to query the storage for the list of all OBJKTs. I then downloaded each metadata file using the IPFS URI. To download any IPFS file, you can either use a public gateway or your own IPFS node. Since the public gateways are rate-limited and I would download many files, I installed my own local IPFS node.

Once I had all the files downloaded, I wrote another program to parse the JSON of each metadata file and run some queries. The following sections dig into the results of these queries.

Invalid metadata

For some OBJKTs, their metadata URIs point to images (e.g., 1, 2, 3) instead of the metadata JSON files or have the wrong fields (e.g., 1). This was due to bugs in the code of some 3rd party developers.

One OBJKT stood out in that its metadata URI was the following JavaScript code:

javascript:alert(‘hi’)//////////////////////////////;

It’s a clever hack to invoke JavaScript on the HEN GUI. If you know JavaScript, then you might be wondering why there are so many comment slashes. Well, it’s to pad the string to be exactly 53 characters. It needs to be exactly 53 characters since the HEN minter contract verifies that the metadata URI is of the IPFS CIDv0 format, which is always that number of characters.

It’s not clear if this is a potential cross-site scripting vulnerability, but it might make sense for the HEN GUI not to display any links that are not IPFS URIs.

These kinds of invalid metadata caused issues for HEN indexers and made them crash. Indexers provide a fast and scalable way to access blockchain data without querying the blockchain directly, which is very slow. The leading indexing software used by HEN is hicdex and uses a list of OBJKTs to avoid.

Symbols

All of the NFTs minted with the HEN minter GUI have the symbol “OBJKT” in the metadata.

HENs smart contracts are based on the FA2 standard for NFTs. It seems the following options are supported: 1 symbol per contract or one symbol per non-fungible or semi-fungible token (like tickets).

OBJKTs are interesting because they support editions that are a fixed number of instances of the same NFT.

There are four other symbols used too:

  1. “HEN3” has 559 tokens (e.g., 1, 2, 3) for a project called HERE AND NOW.
  2. “tzPunks” has three tokens (e.g., 1, 2, 3), of which HEN restricts two as likely copyminted (A copyminter is someone who has stolen another artist’s OBJKT content and is trying to sell it as their own).
  3. “tzPunk” has 40 tokens (e.g., 1, 2, 3) which also seems suspicious.
  4. “asd” has three tokens (e.g., 1, 2, 3), of which HEN restricts one. This metadata is invalid since the tag’s values are key/value pairs instead of strings.

It looks like some developers are using their symbols to make it appear these NFTs are from other contracts, possibly confusing when viewed as tokens in wallets.

Media types

HEN supports a wide range of different file types or media types, including GIF, JPG, PNG, SVG, MP4, WebM, GLB, MP3, WAV, FLAC, PDF, HTML (ZIP archive), and MD.

It is not surprising that image media types are the most common. It is interesting to see the number of interactive NFTs (application/x-directory or model/gltf-binary), which is a unique aspect of HEN. The table also shows that MP3s or audio/mpeg media types are still relatively low.

The list also shows that there are types not supported by the HEN marketplace minter GUI. This table confirms there are 3rd party minters that are creating OBJKTs. However, adding OBJKTs with media types not supported by HEN means that the HEN marketplace GUI will not display the OBJKT.

Minters

The HEN minter GUI creates a subset of the TZIP-21 fields in a particular order which can be used as a signature to determine how many different kinds of minters there might be. There are a total of 14 variations in the fields across all the metadata.

The top 3 variations cover 99.8% of the OBJKTs, and based on the differences; this is likely just updates to the HEN minter over time.

One of the variations has 559 OBJKTs (e.g., 1, 2, 3) and appears to be a way to obtain tickets for live events.

The next largest is 114 OBJKTs (e.g., 1, 2, 3), which appear to be AI art by at least two artists.

Another batch of 47 (e.g., 1, 2, 3) appears to be copymints of tzPunks.

Another minter has 3 OBJKTs, of which the first OBJKT appears to be created by a copyminter since the HEN GUI flags it as restricted. This minter’s second and third OBJKT created is also suspicious since it is for tzPunks with their smart contract.

The next batch of 14 mints (e.g., 1, 2, 3) appears for CreatoRanch.

Then there are six other minters, each with less than 5 OBJKTs each, including 4 OBJKTs (e.g., 1) I created for testing my minter.

Besides being interesting that there are multiple minters for HEN, analyzing their metadata might signal tracking copyminters.

Tags

Tags are a comma-separated list of words that artists can provide for each OBJKT when minting. HEN supports searching OBJKTs by tag. Most OBJKTs have tags, but 2086 doesn’t have any. The median number of tags is 6.

The most number of tags is 101 for two OBJKTs (1, 2) by the same artist. The artist appears to have one thing on mind.

The longest single tag value was 460 chars (truncated):

#motiongraphics#showreel#motiondesign#motiongraphics#animation#sendmejobs#mandajobs#work#lovemyjob#amomeutrabalho#criativos#artedigital…#designfeed@motiongraphics_collective@motiongraphics_p#colorfulart

The value is so long because the HEN GUI removes all spaces before storing the tag values.

When the minting page loads, the tags fields explain that the values need to be comma-separated. However, the moment that input field gets the focus, that help text disappears. So, once an artist types in the first tag value, the confusion around the tag separator is understandable. Also, it might make sense to consider supporting the # tag as an alternative separator in this case.

Unused fields

HEN only uses a subset of the TZIP-21 fields. Looking at the description values, artists might need more of the unused fields.

There is some form of a copyright notice in 1224 OBJKTs. TZIP-21 has two fields related to copyright, one for copyright text and another for a URL. I’ve started including the following text in the descriptions of my OBJKTs:

Only limited personal non-commercial use and resale rights in the NFT are granted; all other terms can be found here: https://norulesjustfeels.com/nft-terms

There are 14574 OBJKTs that include a URL in the description. While TZIP-21 doesn’t have explicit support for URLs for the artist’s web page or social profiles, it does support generic attributes fields with key/value pairs to use for this purpose.

Similarly, 51416 OBJKTs include the @ symbol for either email address or for tagging other artists. Emails could be stored as attributes, while references to other artists could be treated as a particular case to allow click-throughs to their HEN profile pages.

Ideally, artists shouldn’t have to provide their email addresses on a public website like this. Still, there isn’t a way for artists to contact the collectors or allow offline content associated with each OBJKT to be unlocked. Smart contracts support the notion of an oracle, which is a way for a smart contract to query for external data or trigger an API or external action. Oracles can be a way for HEN to support unlockable content or even inform artists about activities performed on their NFTs.

Some descriptions include technical information such as the image’s resolution or FPS of the video (it’s hard to count since there are so many variations). TZIP-21 includes a formats field that allows for additional metadata such as dimensions to be included. The attributes field can also be used to include other technical information or track information about generative OBJKTs (e.g., 1, 2)

Interesting finds

I want to mention some unique OBJKTs I stumbled upon:

  1. Worship The Art Of Crypto” uses the description field to display ASCII art.
  2. 9 to 5,” which includes an encrypted text in the description.
  3. Seven Virtual Seas: Cryptovoxels (night)”: follow the link in the description and turn around in the VR world to explore.
  4. Tezos Baking guide by Sebuh Honarchian: RPI4 / NVME / LEDGER Edition” explains how to set up a Tezos Baker with a Ledger Nano S and a Raspberry pi.
  5. RightPlan.com Covered CA/Anthem Blue Cross Genesis Income Changes NFT,” which appears to be an ad for health insurance.

Final thoughts

I feel like I’ve just scratched the surface in trying to understand how artists are using OBJKT metadata to promote and sell their art. The results of my analysis indicate the need for using more of the TZIP-21 fields, which could be helpful for both HEN and the broader ecosystem. Artists are also finding ways to trigger offline content or merchandise associated with OBJKTs. HEN might consider ways to help artists manage these kinds of associated activities.

If you are interested in HEN NFTs, read my introductory article. If you want to know more about the technical aspects, read my HEN smart contracts and indexer articles. You can follow my 3D art on HEN.

--

--