Sui nodes are configured using a YAML configuration file. This guide covers all available configuration options.
Configuration File Structure
The node configuration file is passed to sui-node via the --config-path flag:
Core Configuration
Key Pairs
Validators require four key pairs:
Fullnodes do not require these keys but must generate a network key pair.
Database Paths
The actual database is stored at {db-path}/live/. Snapshots and archives are stored in subdirectories.
Network Addresses
Default ports:
- Network address: 8080 (TCP)
- Metrics: 9184 (TCP, localhost only)
- JSON-RPC: 9000 (TCP)
- Admin interface: 1337 (TCP, localhost only)
P2P Configuration
Peer-to-peer networking configuration:
State Sync Advanced Options
Consensus Configuration (Validators Only)
Genesis Configuration
Download genesis blobs from:
- Mainnet:
https://github.com/MystenLabs/sui-genesis/raw/main/mainnet/genesis.blob
- Testnet:
https://github.com/MystenLabs/sui-genesis/raw/main/testnet/genesis.blob
Pruning Configuration
Setting num-epochs-to-retain: 0 enables aggressive pruning mode. This is experimental and should be used with caution on validators.
Checkpoint Executor Configuration
RPC Configuration
Metrics Configuration
Metrics are available locally at http://localhost:9184/metrics.
State Archive Configuration
Use:
- Mainnet:
https://checkpoints.mainnet.sui.io
- Testnet:
https://checkpoints.testnet.sui.io
Execution Cache Configuration
Environment Variables
Key environment variables override config file settings:
Logging
Database
Cache Sizing
Advanced Configuration
Traffic Control
Transaction Validation
DB Checkpointing
Complete Validator Example
Complete Fullnode Example
Configuration Validation
Validate your configuration before starting the node:
Dynamic Configuration
Some settings can be changed at runtime via the admin interface:
Update Log Levels
The admin interface is available on localhost:1337 by default.