This document provides information about Dashmate configuration system. Dashmate supports multiple configs and uses a hierarchical configuration system with various sections that control different aspects of a Dash Platform node.
Dashmate configuration is organized into a hierarchical structure with the following main sections:
- core: Options for Dash Core node
- platform: Options for Dash Platform components
- docker: Docker-related configuration
- dashmate: Dashmate-specific configuration
- externalIp: External IP address for the node
- network: Network selection (mainnet, testnet, etc.)
- environment: Environment type (production, development)
- Core - Dash Core node settings
- Gateway - Platform Gateway settings
- Drive ABCI - Drive ABCI application logic
- Tenderdash - Consensus engine settings
- DAPI - Platform API services
- Dashmate Helper - Dashmate helper service
- Docker - Docker configuration
- Miscellaneous configuration - Network, Config and Environment settings
To setup a new node use the dashmate setup command.
This interactive command will guide you through the process of creating a new configuration.
dashmate setupDashmate comes with predefined configuration presets for different environments:
- mainnet: For production nodes on the main Dash network
- testnet: For testing on the Dash testnet
- local: For local development with all services
You can create as many custom configurations as you need based on these presets or existing configs.
Dashmate provides several commands to manage configurations:
# Display current default config
dashmate config
# List all available configs
dashmate config list
# Create a new config
dashmate config create <n> [--preset=<preset>]
# Set a config as default
dashmate config default <n>
# Get a specific config option
dashmate config get <option>
# Set a specific config option
dashmate config set <option> <value>
# Remove a config
dashmate config remove <n>
# Export config as environment variables
dashmate config envs [--output-file]
# Render service configurations
dashmate config renderWhen running dashmate commands, you can specify, which config to use:
dashmate start --config=<preset>If no config is specified, the default config will be used.
Configuration files are stored in the Dashmate home directory:
- Default location:
~/.dashmate/config.json - Can be changed with the
DASHMATE_HOME_DIRenvironment variable
When updating Dashmate, configurations are automatically migrated to the new format.
Use the dashmate doctor command to check for common issues in your configuration:
dashmate doctor- Port conflicts: If a port is already in use, try changing the port in the configuration.
- Networking issues: Check if the
externalIpis correctly set and accessible. - Docker permission issues: Make sure your user has permissions to access the Docker socket.
# Check the current configuration
dashmate config
# Check a specific option
dashmate config get <option>
# Enable debug logging
dashmate config set core.log.debug.enabled true