The `palladium.conf` file is the main configuration file for Palladium Core, controlling how your node operates, connects to the network, and provides services. This file allows you to customize various aspects of your Palladium Core installation without needing to use command-line arguments every time you start the application.
## What is palladium.conf?
`palladium.conf` is a plain text configuration file that contains key-value pairs to configure your Palladium Core node. It determines:
Palladium Core supports three different networks, each with its own configuration requirements:
### 1. Mainnet (Production Network)
Mainnet is the live Palladium blockchain where real transactions occur and real PLM coins are used.
**Key Characteristics:**
- Uses default ports (2333 for P2P, 2332 for RPC)
- Connects to production network
- Real economic value
- Should be used for production deployments only
### 2. Testnet (Testing Network)
Testnet is a separate blockchain designed for testing purposes with no real economic value.
**Key Characteristics:**
- Uses different ports (12333 for P2P, 12332 for RPC)
- Separate blockchain from mainnet
- Test PLM coins have no value
- Safe for development and experimentation
- Faster block times for testing
### 3. Regtest (Regression Testing)
Regtest is a local testing environment where you can create blocks instantly.
**Key Characteristics:**
- Local blockchain only
- Instant block generation
- Complete control over network
- Ideal for development and automated testing
- No external network connections required
## Core Configuration Parameters
### Basic Node Settings
```conf
txindex=1 # Enable transaction index (required for getrawtransaction RPC)
server=1 # Enable RPC server (required for RPC commands)
listen=1 # Accept incoming connections (required for peer discovery)
daemon=1 # Run as daemon (background process)
discover=1 # Enable peer discovery (required for peer connections)
maxconnections=50 # Maximum number of connections
```
### RPC Configuration
```conf
rpcuser=your_secure_username # RPC username (required for RPC authentication)
rpcpassword=your_secure_password # RPC password (required for RPC authentication)
rpcallowip=127.0.0.1 # Allow RPC connections from specific IP ranges (localhost)
rpcallowip=192.168.1.0/24 # Allow RPC connections from specific IP ranges (local network)
rpcbind=127.0.0.1 # Bind RPC to specific interface
```
### Network Settings
```conf
port=2333 # P2P network port
rpcport=2332 # RPC server port
fallbackfee=0.0001 # Default transaction fee (PLM per kB)
minrelaytxfee=0.00001 # Minimum relay fee
```
### Security Settings
```conf
# Wallet encryption (set at runtime, not in config file)
# Use encryptwallet RPC command instead
disablewallet=1 # Disable wallet functionality (for full nodes without wallet)
# Node Connection Methods (choose one approach):
# addnode - Adds node to connection list, still allows other connections
addnode=trusted.node.ip:2333 # Add trusted node to connection pool
# connect - ONLY connects to specified nodes, blocks all other connections
connect=trusted.node.ip:2333 # Connect ONLY to this node (maximum security)
```
### Performance Tuning
```conf
dbcache=512 # Database cache size in MB (increase for better performance)
maxorphantx=100 # Maximum number of orphan transactions
maxmempool=300 # Maximum size of mempool in MB
mempoolexpiry=72 # Mempool memory expiration time in hours
```
### Privacy Settings
```conf
dnsseed=0 # Disable DNS seeding for privacy
bind=127.0.0.1 # Bind to specific interface only (localhost)
```
### Mining Configuration (for mining pools)
```conf
mine=1 # Enable block generation
miningaddress=your_palladium_address # Mining address to receive block rewards
blockmaxsize=1000000 # Maximum block size in bytes (default: 1000000)
blockprioritysize=50000 # Block priority size in bytes (default: 50000)
```
## Complete Configuration Examples
### Mainnet Configuration
```conf
# Core Settings
txindex=1
server=1
listen=1
daemon=1
discover=1
# RPC Configuration
rpcuser=your_secure_username
rpcpassword=your_very_secure_password
rpcallowip=127.0.0.1
rpcallowip=192.168.1.0/24
rpcbind=127.0.0.1
# Network Settings (Mainnet defaults)
port=2333
rpcport=2332
maxconnections=50
fallbackfee=0.0001
minrelaytxfee=0.00001
# Trusted Nodes
addnode=89.117.149.130:2333
addnode=66.94.115.80:2333
addnode=173.212.224.67:2333
# Advanced Settings
zmqpubrawblock=tcp://0.0.0.0:28334
zmqpubrawtx=tcp://0.0.0.0:28335
zmqpubhashblock=tcp://0.0.0.0:28332
# Logging
debug=net
debug=rpc
debug=coindb
```
### Testnet Configuration
```conf
# Network Selection
testnet=1
[test]
# Core Settings
txindex=1
server=1
listen=1
daemon=1
discover=1
# RPC Configuration
rpcuser=testnet_user
rpcpassword=testnet_password
rpcallowip=127.0.0.1
rpcbind=127.0.0.1
# Network Settings (Testnet)
port=12333
rpcport=12332
maxconnections=25
fallbackfee=0.0001
minrelaytxfee=0.00001
# Faster block time for testing
blockmintxfee=0.00001
```
### Regtest Configuration
```conf
# Network Selection
regtest=1
[regtest]
# Core Settings
txindex=1
server=1
listen=1
daemon=1
# RPC Configuration
rpcuser=regtest_user
rpcpassword=regtest_password
rpcallowip=127.0.0.1
rpcbind=127.0.0.1
# Network Settings (Regtest)
port=23444
rpcport=23443
maxconnections=1 # No external connections needed
# Development Settings
fallbackfee=0.00001
minrelaytxfee=0.000001
blockmintxfee=0.000001
# Enable all debugging for development
debug=1
```
## Unified Configuration File with Network Sections
You can also create a single configuration file that works for all networks using section headers. This approach allows you to switch between networks without changing the entire configuration file.
```conf
# Palladium Core Unified Configuration
# By default, if neither testnet nor regtest is specified, the node runs on mainnet.
# Uncomment ONLY ONE of the following lines to switch network:
# testnet=1 # Enable testnet mode (disables mainnet and regtest)
# regtest=1 # Enable regtest mode (disables mainnet and testnet)
# Mainnet settings (default - no section header needed)
# These settings apply to mainnet by default
txindex=1
server=1
listen=1
daemon=1
discover=1
rpcuser=your_secure_username
rpcpassword=your_very_secure_password
rpcallowip=127.0.0.1
rpcbind=127.0.0.1
port=2333
rpcport=2332
maxconnections=50
fallbackfee=0.0001
minrelaytxfee=0.00001
# Mainnet trusted nodes
addnode=89.117.149.130:2333
addnode=66.94.115.80:2333
addnode=173.212.224.67:2333
[test]
# Testnet specific settings
# These override mainnet settings when using testnet