Semi

NFT Contracts, Solidity, 2022

* Click on the cicada to hear the sound.

Semi (蝉 / セミ / Cicada) is an experimental NFT smart contract that incorporates a variety of elements. Digital items that influence each other, interactive content that sounds, updatable and composable design, and better metadata that empowers the owner.

Influencing Each Other

The NFT can be minted by anyone; when the NFT is minted, a cicada of one of five randomly determined types is rendered at a random position (x, y coordinates). If you own more than one cicada, the number of cicadas will be rendered. The image of each cicada is generated by all other cicadas owned by the same address. When a cicada is sent to another address, the cicada is gone from the images of all other cicadas of the same address. This property will be an important factor in giving the digital item a real feeling.

Interactive Content with Sound

Clicking on a cicada will play a sound that corresponds to the type of cicada. As the number and types of cicadas increase, more sound combinations can be enjoyed. The logic is implemented in HTML and JavaScript, with code generated on-chain.

Updatable and Composable Design

The NFT contract is designed so that the renderer that draws the image can be changed. This allows for incremental changes to the content in addition to allowing for maintenance on the rendering. In the renderer, logic and assets are completely separated. All logic is generated on-chain, while assets reference off-chain images and music. In other words, this is not full on-chain, but it is a semi-on-chain NFT.

Better Metadata with Owner Authority

What exactly do we own by using NFT technology? One answer is the association with some metadata. You could say that the metadata that is associated is the identity of the digital object as perceived by its owner. The metadata associated with the object is not something that can be changed by someone else without permission. This NFT allows the contract creator to update the NFT's renderer, but it presents a better way for metadata by allowing the owner to choose its association. Owners are free to select any previously registered renderer they desire.


Links

  • Etherscan
    • If you value this NFT and wish to participate in the artwork, you can mint the NFT by executing the mint() function in Etherscan. Enter your ETH address as the argument. All you need is the gas cost.
  • GitHub
    • If you want to know more about how this NFT works, you can find the source code and development environment of the smart contract on GitHub.
  • OpenSea
    • If you want to see images and metadata of the NFT, or if you want to buy or sell the NFT, you can use OpenSea.