Template Creation & Item Integration
Right now, Template creation is managed by the Lamina1 core team in coordination with our early partners. In due time, we will open up the ability to publish and distribute new templates on the Lamina1 Hub to all L1 creators and community members via a dedicated Template Creation flow and back-end Template Registry.
In the future there are will initially be two kinds of templates that creators will be able to publish to the Lamina1 Network when this feature becomes available:
- Generalized Templates: Which allow creators to publish Items across various content/file types that do not have to conform to any kind of Space, interface, brand, or community standards. These templates, by default are blank, unlimited, and undefined, and therefore have the highest level of customizability. The first generalized template we are demo-ing on the LAMINA1 Hub for testing and deployment is the Artwork.
- Specialized Templates: Which allow you to mint an Item with pre-set traits and customizations, defined explicitly by the template creator. Specialized templates allow you to mint what is essentially a ‘copy’ of an existing Item, with some customizable features that help you “make it your own” and/or allow you to deploy/use it in certain Spaces, sets of Spaces or communities. In the future, we see Specialized Templates as a great way for community members to dive into making and/or soliciting user-generated content while ensuring they adhere to set guidelines and will seamlessly integrate into whatever Space or metaverse use-case they were designed for.
Templates can be made for a Space if they contain all of the required properties defined by the interface of that Space. This interface is stored in the Space Registry and may be updated within the Space Registry (for more information, see the Item/content Integration section below).
From a back-end perspective, both types of templates are essentially driven by a Template Spec (encoded in JSON) that defines the steps that lead to the minting of an NFT. Each of these steps is further defined by JSON fields that correspond to different metadata parameters that the NFT will have, some of which may be configured by the creator. The Hub then transpiles this JSON into a UI that guides the user through each step and configurable parameter.
Currently, there is an 1155 smart contract where each Item is minted from with the templates themselves located in the Space Registry. So when a Space creator registers their experience, they can define one or more templates that are stored within the Space metadata.
This smart contract implements a Solidity interface which has a mint function that receives an IPFS CID as argument. Right now, the Lamina1 Metaverse Asset Dispenser (L1MAD) has an endpoint for users to submit the metadata with a rate limit of 1 per minute. During the minting of a template Item, the Hub user calls the L1MAD and then calls the mint (transaction).
The resulting configuration does not modify the Solidity code of the minted NFT but is stored within the off-chain metadata. However, future iterations of the Creator Studio and template creation capabilities will attempt to bring more of the metadata on-chain as the Lamina1 Hub expands.
In the future, we are considering transitioning some, if not all of these template smart contracts over to 1155-c, which will incorporate enforceable on-chain royalties.
We think it is likely that many Space creators on Lamina1 will be interested in defining and creating custom templates for their Spaces when they’re developing this interface to encourage fan engagement and the population of user-generated content into open metaverse worlds.