Namespace Configuration - reddcoin-project/reddcoin GitHub Wiki

Reddcoin Namespace Configuration Documentation

Overview

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.

Configuration Parameters

Character Rules

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.

Length Requirements

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

Revenue Distribution

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%.

Auction Parameters

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%

Renewal Settings

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

Pricing Tiers

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
]

Configuration Methods

Via RPC

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}]'

Validation Rules

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

Updating Configuration

Only the namespace owner can update the configuration. Changes to configuration parameters affect all future operations but do not retroactively affect existing user IDs.

Configuration Hash

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.

Default Configuration

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}
]
⚠️ **GitHub.com Fallback** ⚠️