What Are Dynamic NFTs?
NFTs represent distinct and irreplaceable digital assets within a blockchain. These exceptional items are typically generated using a standardized token protocol, such as XLS-20 for the XRPL, ensuring that each NFT possesses a unique token ID.
In the case of static NFTs, they are minted with immutable token data, meaning this data cannot be modified. Consequently, static NFTs remain unaltered despite external factors, which can lead to them becoming outdated if information changes.
On the other hand, dynamic NFTs offer a solution to this limitation. While their token IDs remain constant, dynamic NFTs possess the remarkable capability to change under specific conditions.
Understanding Dynamic NFTs on EVM Chains
Within the Ethereum Virtual Machine (EVM), Dynamic NFTs constitute a specialized subset of NFTs that can undergo modifications based on specific conditions. Each NFT contains metadata, which serves to describe its unique attributes. In contrast to static NFTs, dynamic NFTs exhibit the capacity for altering their metadata, resulting in visual transformations — this is dependent on how the contract is written.
In EVM chains, it’s a common practice for a contract to have a “base URL” that directs to either an API or an IPFS directory. If you can make adjustments to this base URL, you have the capability to upload fresh content to an alternative location, thereby altering the content. Another option is to have it directed towards an API where you have the ability to modify the content.
In practice, dynamic NFTs often come with their dedicated APIs. Think of NFTs within a game as an example. These NFTs may have properties that change as you progress through the game, such as the appearance or abilities of a character. Instead of repeatedly updating this information directly in IPFS, an alternative approach is to maintain a database containing these properties, similar to how it’s done in traditional non-web3 games. The NFT can then fetch the necessary data from this database using an API.
The base URI method is frequently employed to allow for potential corrections or updates at a later stage. After it has been operational for some time and everything is running smoothly, ownership of the contract is often relinquished, preventing further updates to the base URL. Additionally, this approach is sometimes combined with the use of a custom API for enhanced flexibility and functionality.
Current State of Dynamic NFTs on The XRPL
On the XRPL (XRP Ledger), dynamic NFTs do not exist in the same form as on the Ethereum Virtual Machine (EVM) due to the absence of smart contracts. Smart contracts, which enable the dynamic behavior and adaptability of NFTs, are a limitation on the XRPL, making it challenging to create NFTs with similar evolving characteristics as those on the EVM.
The Domain Field Method offers a way to mint NFTs on the XRPL while achieving a similar outcome. XRPL NFT metadata comprises multiple fields, where in the URI field method of minting, the URI field traditionally points to the IPFS link housing the JSON file. However, in the Domain Field Method, this URI field remains empty, and instead, the reference is made from the domain field of the issuer wallet to an IPFS directory housing all the NFTs. When someone wishes to access NFT data, they must navigate to the directory within the domain field, append the NFT ID, and retrieve the JSON.
This method allows for updates to NFTs within a collection, as the domain field of an issuer wallet is editable. Nevertheless, it’s important to note that compared to a smart contract chain, this approach has its limitations. When an NFT needs updating, the entire directory must be replaced, making it less scalable for scenarios where a multitude of NFTs are subject to constant changes. It is better suited for collections that undergo periodic updates, such as on a monthly basis, triggered by specific events or criteria.
XLS-46d: Proposal for Dynamic Non-Fungible Tokens (dNFTs)
The XLS-46d proposal for dynamic NFTs seeks to introduce greater flexibility to XLS-20 NFTs, allowing for modifications and updates to their token properties. Currently, XLS-20 NFTs minted using the URI method are non-fungible tokens with immutability, meaning their attributes remain fixed once created. The proposal envisions the implementation of dynamic NFTs, abbreviated as dNFTs, which are mutable NFTs that can change over time. The objective is to provide developers and users with two options: immutable NFTs (traditional) and mutable NFTs (dynamic), catering to different use cases of non-fungible tokens.
The motivation behind this lies in the inherent static nature of NFTs minted using the URI method. These static NFTs, commonly used for images, videos, music, and unlockable content, have unchanging and immutable properties stored on the blockchain. For instance, a static NFT depicting a sports player’s statistics remains constant, regardless of real-world events.
Dynamic NFTs, on the other hand, usher in a new era by combining the uniqueness of NFTs with dynamic data inputs. These inputs can be derived from calculations conducted either on or off the blockchain. They may also rely on oracles to supply real-world data to NFTs. For example, a dynamic NFT could display real-time updates of a sport player’s performance statistics as they actively participate in games.
To enable this, the proposal introduces new transaction types and flags, such as “lsfMutableIssuer” and “lsfMutableOwner,” which govern the ability to modify the “URI” property of NFTs. The “URI” serves as a reference to data and metadata associated with the NFT. However, it’s essential to note that any changes should be within the boundaries of the NFT’s unique identification to preserve its integrity. Read the full proposal here.
Similarities and Difference Between the Domain Field Method and The XLS-46d Proposal
Let’s break down the key similarities and differences between the “Domain Field Method” and the “XLS-46d Proposal”.
- Objective: Both the “Domain Field Method” and the “XLS-46d Proposal” aim to introduce flexibility and the ability to modify NFT properties on the XRP Ledger (XRPL).
- Modification of NFT Properties: Both approaches allow for updates and changes to NFT properties, specifically the “URI” field that references data and metadata associated with NFTs.
- Reference to external data: In both methods, the IPFS, custom API and more can be utilized as a means to store and reference the data and metadata associated with NFTs.
“Domain Field Method”: This method is mentioned in the text as an existing approach used on the XRPL. It involves leaving the “URI” field empty and instead referring to an IPFS directory from the domain field of the issuer wallet to access NFT data.
“XLS-46d Proposal”: This proposal is introduced as a new initiative to enhance XLS-20 NFTs on the XRPL. It suggests introducing dynamic NFTs (dNFTs) and specific transaction types and flags to allow modifications.
“Domain Field Method”: It primarily focuses on making updates to NFTs within a collection, and it’s suitable for scenarios where updates are less frequent.
“XLS-46d Proposal”: This proposal introduces the concept of dynamic NFTs (dNFTs) that can change over time, catering to various use cases. It provides a framework for both immutable (traditional) and mutable (dynamic) NFTs, offering more flexibility.
“Domain Field Method”: It relies on an existing method of referencing IPFS directories from the domain field of an issuer wallet, and it doesn’t require changes to the XRPL’s core functionality.
“XLS-46d Proposal“: It proposes new transaction types and flags, such as “lsfMutableIssuer” and “lsfMutableOwner,” to enable NFT modifications. This suggests potential changes to the XRPL’s protocol to accommodate dynamic NFTs.
In summary, both the “Domain Field Method” and the “XLS-46d Proposal” share the goal of allowing modifications to NFT properties on the XRPL, but they differ in their origins, scope, and proposed implementation methods. The “Domain Field Method” is an existing approach, while the “XLS-46d Proposal” is a new initiative aimed at introducing dynamic NFTs and associated changes to the XRPL.