description: >- Every Realm and Sub-Realm has the ability to mint any number of Sub-Realms below them.
Mint Sub-Realms
Method 1: Mint with Sub-Realm Rules
The first way to allow users to mint subrealms is to define the minting rules at the subrealms
namespace in the Realm or Subrealm data structure. We will demonstrate below how to configure a realm (or subrealm) to allow users to mint subrealms autonomously. We start with the sample realm name +mycoolrealm
and walk through the steps required to enable subrealm minting.
Pre-Requisites
- You have a Realm or Sub-Realm already claimed
- Decide how you will allow user's to mint subrealms (more on this below)
Step 1. Create initial Subrealm Minting Rules File
See Rules Guide for more details for more details on the format of the rules file. Below we will demonstrate how to configure a sample rules configuration for our example Realm +mycoolrealm
The example demo Realm+mycoolrealm
exists on testnet at atomical_id285051d51bb9d045d24dc0816d6f29bfe72b1c91e479702ec866c724a0f4aa56i0
Sample Rules File (Save as rules.json)
```json
{
"subrealms": {
"rules": [
{
"p": "^[a-z0-9]{6,64}$",
"bitworkc": "8888.8"
},
{
"p": ".*",
"o": {
"0014383fb23c5b1b40025b0e1dd3e310d6e1ee6d316e": {
"v": 1000
}
}
}
]
}
}
```
The rules file above allows anyone to mint a subrealm of length 6 to 64 characters in length for free as long as the user mines the Subrealm with Bitwork of "bitworkc": "8888.8"
(about 1-2 minutes of CPU time). There is a second additional rule entry that allows subrealms to be minted less than 6 characters in length as long as a payment of 10,000 satoshis is made to the address.
Recall that you can convert between output script hex format to addresses and vice versa using the CLI tool. See Rules Guide for more details.
Step 2. Set the Minting Rules with "enable-subrealms" for your Realm
With the rules file you have created above in Step 1, we will enable it for your particular Realm.
Using the CLI, execute the following command to enable subrealm minting:
yarn cli enable-subrealms +mycoolrealm file.json --satsbyte=100
Then follow the on-screen instructions to deposit the funds into your funding address, and after the transaction is confirmed your rules will become activated and anyone can mint subrealms according to the rules you have created.
Step 3. Query "realm-info" to see activated rules
After the transaction in Step 2. is completed successfully and confirmed in at least 1 block, then you may query the activated rules for your realm with the command:
yarn cli realm-info mycoolrealm
It will display the relevant information about the Realm and the activated rules.
⭐ Congratulations! You have successfully enabled Subrealm Minting on your Realm or Subrealms. Read below on how your users can participate and claim subrealms
Mint and Claim Subrealm
To mint and claim a subrealm according to the rules created above, the users can use the following commands to query if a Subrealm name is available, and determine the minting rules that are applicable and check the status of their request.
Step 1. Query the Subrealm to claim to check if is available
Query the subrealm +mycoolrealm.nicesubrealm
to see if it is available and if it's taken. The command realm-info
like the DNS WHOIS
command to report back information about a realm name.
yarn cli realm-info mycoolrealm.nicesubrealm
Step 2. Mint the Subrealm Request
yarn cli mint-subrealm +mycoolrealm.nicesubrealm --satsbyte=100
Then follow the on-screen instructions. In the case of a mint that requires a payment, then you must use a tool that allows payments.
Step 3. (If payment is required) Make payment for Subrealm during payment window.
The CLI has the operation to see which Subrealms are ready to be paid and also help pay with regular Satoshis:
yarn cli pending-subrealms
Then follow the on-screen instructions to make regular Satoshi payments.
⚠️ WARNING: It is not recommended to use the CLI to make payments for high value items and/or paying with ARC20. The tool is experimental and it is not advised to use the tool unless you are an advanced user. It is better to use one of the upcoming wallets to handle the payment complexity on your behalf.