What is a Smart NFT?
The CIP54 standard allows a HTML+Javascript NFT to receive information about the current state of the blockchain, as well as import files and libraries from the blockchain.
This enables NFTs to respond to their environment in new and interesting ways, including reacting to oracle data, or being triggered by certain events. The standard also greatly increases the amount of data that can be made available to NFTs - image libraries, sounds, videos - an NFT can read files or metadata from any other token - this opens up the blockchain and will allow more expressiveness, art, and utility for many projects.
The Playground
The Smart NFT Playground allows you to develop and test NFTs inside a runtime environment which is fully compliant with the CIP54 specification. In fact, this is the reference implementation of the specification.
- Write your code
Write code and test in realtime without having to mint NFTs
- Optimise and test
Optimize your NFT code and test parameter changes in simulation
- Mint NFT
When you are confident your NFT works, you can go ahead and mint one and test it on Plutus.art
Buy / Sell / Trade
Buy, sell or trade your Smart NFTs at Plutus.art, with native support for CIP54 assets right in the marketplace.
- Smart Life - The first CIP54 collection is now minting
- Smart Avatars - The first in a new series of true on-chain avatars
- ADAquote - The first practical use of CIP54 to offer an enhanced version of an existing project.
Further reading
All of the parts of the Arden API including this website itself are provided opensource on Github - SmartNFTPortal and Libcip54 are also available as npm packages
SmartNFTPortal | This is a react component which gives you everything you need to render a Smart NFT in the front end - this is the component used by the Playground, and by Plutus.art |
Libcip54 | This library proves the backend queries needed to build the data for the SmartNFTPortal to render the NFT - the two work in tandem to render NFTs |
SimpleCip54Viewer | This is a very simple React site which does nothing but render a specific NFT inside a SmartNFTPortal instance. |
SmartNFTThumbnailer | This is a library used for generating thumbnails of Smart NFTs, it can also generate short video clips of the NFT running. |
Playground | This is the sourcecode for this site - if you have a feature you'd like to contribute, feel free to submit a pull request. This also contains a reference implementation of the backend API which generates the data for the frontend to render. |
CIP54 | The actual Cardano Improvement Proposal that I wrote a couple of years ago at the start of this project |