▪️2. Metaverse Component
What is Metaverse Component(MC)?
There are various elements that make up the metaverse, such as characters, lands, worldviews, and so on.
Deploy
The wallet of a metaverse owner can create a metaverse component by generating an inscription similar to the following. It is the meta-description of a certain type of instance in the metaverse.
Explanation
The following operation will deploy a component named "charactor:warrior" in the Root metaverse. In fact, it defines the warrior character in the Root metaverse.
In the field of "tick", it uses ":" acting as the hierarchical classification separator. It means "Warrior" belongs to "charactor".
"Elements" is the component of "Warrior", represented as a dictionary. The keys in this dictionary are element names, including Race, Sub Race, Gender, Hair Color, Hairstyle, Skin Color, Clothing, Accessory, Weapon, and Exoskeleton, making up a total of ten elements. The value for each key is an array, which contains candidate values for that element. When creating an instance of a Warrior, which is the "Mint" operation, one from these candidates needs to be selected for each element.
Key | Required? | Description |
---|---|---|
p | Yes | Protocol: Helps other systems identify and process brc-1024 events |
metaverse | Yes | Designate the metaverse to which the deployed assets belong. Not case sensitive (ROOT = Root = root). |
op | Yes | Operation: Type of event (deploy) |
tick | Yes | Ticker: 4-100 letter identifier of the component of the metaverse. It use ":" as the delimiter for hierarchical classes. Not case sensitive. |
max | Yes | Max supply: set max supply of the component. if not specified, limited to uint256. |
self-mint-wallets | No | 【V2-Self Mint】 The value of the "self-mint-wallets" field is an array, with elements which are Bitcoin wallet addresses designated by the project team(metaverse owner) as self mint wallets. |
self-mint-number | No | 【V2-Self Mint】 The total number of mints allowed for these wallets in "self-mint-wallets" field, which must be less than or equal to "max". |
elements-dup | No | It can only be set to "acceptable" or "unacceptable", indicating whether the duplication of elements is accepted. The default setting is "acceptable". |
elements | Yes | The keys in this dictionary are element names, the value for each key is an array, which contains candidate values for that element. When creating an instance, which is during the "Mint" operation, one option from these candidates needs to be selected for each element. All these keys and values of the dict are case-sensitive. The validate "Mint" operation, must keeping them the same as the "Deploy" operation. |
Guides
This operation needs to be inscribed to the metaverse owner's wallet first, then sent to the designated Activation wallet to be activated. The Activation Wallet of BRC1024 is bc1pttsy5dcc3jt6aalsn06es92vkcsjudc2lf559egvy8k27m3fw2lssng49m.
The Deploy inscription which hasn't been sent to Activation Wallet is invalid. The Activation Wallet is just like Burn Wallet, all inscription sent to it will be treated burnt.
For "elements-dup", once set the value to "unacceptable", for duplicated mint inscriptions, only the inscription with the smallest inscription number will be treated valid, all others will be considered invalid.
Once activated, this component under the specific metaverse will exist permanently, and any deployments of the same tick within the same metaverse will be considered invalid. However, it is still possible to deploy components with the same name in other metaverses.
【V2-Self Mint】 The Metaverse Component deployment wallet, which is the Metaverse owner wallet, serve as the default value for "self-mint-wallets". This means that if the "self-mint-wallets" field is not provided and only "self-mint-number" is supplied, it implies that only the Metaverse owner wallet can mint the supply corresponding to "self-mint-number". If the "self-mint-wallets" field is provided, "self-mint-number" must also be supplied; otherwise, this component is considered invalid. If neither the "self-mint-number" nor the "self-mint-wallets" field is provided, the self-mint functionality is not activated.
Postscript
The elements of metaverse assets should not be limited to just this one form. In the future, the protocol will support various types such as int, float, string, and even complex construction rules.
The upgrade function also will be supported in the future.
Last updated