Skip to main content

Evolving NFTs

Learn how to evolve NFTs on any EVM chain (Ethereum, Polygon, Arbitrum, etc.) by updating their metadata in the LAOS sibling collection.

In Bridgeless Minting patterns, slots in the ERC721 collection (left side of the image) correspond to locations on LAOS (right side). Evolving an NFT involves modifying its corresponding location on LAOS: in the image, an ape with different color and, optionally, different attributes, replaces the previous ape. Importantly, the tokenId remains unchanged; after evolving, the same NFT retains an on-chain history of both its previous state and its evolved state.

Prerequisites

Full Code Example

The code corresponding to this example can be found here.

Running the example

  1. Set up the private key and install dependencies as in the previous steps.

  2. Upload to IPFS the new metadata that fully describes the new asset. In addition to a new JSON file describing its attributes, you may also include a new image.

  3. Configure the LAOS sibling collection and the previously minted tokenId, then set the tokenURI to point to the newly uploaded metadata CID on IPFS.

  4. Run the script:

$ node evolve.js