Namespace Configuration - reddcoin-project/reddcoin GitHub Wiki
Namespace configuration in the Reddcoin system allows namespace owners to customize how their namespace operates. Each namespace can have its own set of rules governing user IDs, auction parameters, and economic models. This document details the configuration parameters and their impacts.
Parameter | Description | Constraints | Default |
---|---|---|---|
allow_numbers |
Whether numbers (0-9) are allowed in user IDs | Boolean | false |
allow_hyphens |
Whether hyphens (-) are allowed in user IDs | Boolean | false |
allow_underscores |
Whether underscores (_) are allowed in user IDs | Boolean | false |
Note: Lowercase letters (a-z) are always allowed in all namespaces.
Parameter | Description | Constraints | Default |
---|---|---|---|
min_length |
Minimum length for user IDs | 1-10 characters | 3 |
max_length |
Maximum length for user IDs | 5-64 characters | 32 |
Parameter | Description | Constraints | Default |
---|---|---|---|
namespace_revenue_pct |
Percentage of auction revenue going to namespace owner | 5-10% | 10% |
burn_pct |
Percentage of auction revenue permanently burned | 50-80% | 70% |
node_pct |
Percentage of auction revenue going to node operators | 5-25% | 15% |
dev_pct |
Percentage of auction revenue going to development fund | 5-15% | 5% |
Note: The total of all percentage parameters must equal 100%.
Parameter | Description | Constraints | Default |
---|---|---|---|
min_auction_duration |
Minimum auction duration in days | 1-7 days | 3 |
max_auction_duration |
Maximum auction duration in days | 3-14 days | 7 |
min_bid_increment |
Minimum percentage increase for new bids | 1.0-10.0% | 5.0% |
Parameter | Description | Constraints | Default |
---|---|---|---|
renewal_period |
Days until renewal is required | 180-730 days | 365 |
grace_period |
Days after expiration before auction | 14-60 days | 30 |
Namespace owners can define custom pricing tiers based on name length:
[
{"min_length": 1, "min_price": 100000}, // Single character names
{"min_length": 2, "min_price": 50000}, // Two character names
{"min_length": 3, "min_price": 25000}, // Three character names
{"min_length": 4, "min_price": 10000} // Four+ character names
]
Namespace configurations can be updated using the configurenamespacess
RPC command:
configurenamespacess "redd" '{"allow_numbers":true,"min_length":3,"max_length":32}' '[{"min_length":1,"min_price":100000},{"min_length":3,"min_price":10000}]'
The configuration must adhere to these rules:
- Revenue percentages must sum to exactly 100%
- Minimum length must be less than or equal to maximum length
- Minimum auction duration must be less than or equal to maximum auction duration
- All values must be within their specified constraints
Only the namespace owner can update the configuration. Changes to configuration parameters affect all future operations but do not retroactively affect existing user IDs.
Every namespace configuration is stored with a configuration hash that ensures integrity. This hash is calculated from all configuration parameters and is used to verify the configuration has not been tampered with.
A newly registered namespace receives these default configuration values:
{
"allow_numbers": true,
"allow_hyphens": true,
"allow_underscores": true,
"min_length": 3,
"max_length": 32,
"renewal_period": 365,
"grace_period": 30,
"namespace_revenue_pct": 10,
"burn_pct": 70,
"node_pct": 15,
"dev_pct": 5,
"min_auction_duration": 3,
"max_auction_duration": 7,
"min_bid_increment": 5.0
}
With default pricing tiers:
[
{"min_length": 1, "min_price": 100000},
{"min_length": 2, "min_price": 50000},
{"min_length": 3, "min_price": 25000},
{"min_length": 4, "min_price": 10000}
]