cmd/utils/flags.go and cmd/tomo/main.go.
General Settings
Identity and Network
string
Custom node name that appears in network stats and peer lists
number
default:"88"
Network identifier:
88: Viction Mainnet89: Viction Testnet
boolean
Connect to the Viction testnet. When enabled, automatically uses testnet bootnodes and genesis.
Data Storage
string
required
Directory for blockchain data and keystore. Stores:
- Block data
- State database
- Transaction history
- Node configuration
string
Directory for account keystore files. If not specified, uses
{datadir}/keystore.string
default:"full"
Blockchain synchronization mode:
fast: Download blocks and verify recent state onlyfull: Download and validate all blocks from genesislight: Download only headers (not recommended for production)
string
default:"full"
Blockchain garbage collection mode:
full: Prune old state data to save disk spacearchive: Keep all historical state data
Account Management
string
required
Comma-separated list of accounts to unlock. Use account index (0 for first account) or full address.
string
Path to password file for non-interactive account unlocking. File should contain passwords, one per line.
Mining / Staking Configuration
boolean
Enable staking/mining mode. Node will participate in block creation if it’s a valid masternode.
number
default:"1"
Number of CPU threads to use for staking operations.
string
default:"0"
Public address for block mining rewards. Default “0” means use first account.
number
default:"250000000"
Minimum gas price (in wei) to accept for mining a transaction.
number
default:"30000000"
Target gas limit for mined blocks.
Network Configuration
P2P Settings
number
default:"30303"
P2P network listening port for peer connections.
number
default:"25"
Maximum number of network peers. Set to 0 to disable P2P networking.
number
default:"0"
Maximum number of pending connection attempts. Uses default if set to 0.
string
default:"any"
NAT port mapping mechanism:
any: Automatic NAT detectionnone: Disable NATupnp: Use UPnPpmp: Use NAT-PMPextip:<IP>: Explicit external IP address
string
Comma-separated enode URLs for P2P discovery bootstrap. Leave empty to use default mainnet/testnet bootnodes.
boolean
Disable peer discovery mechanism. Only manually added peers will connect.
string
Path to P2P node key file.
string
P2P node key as hex string (for testing only).
RPC Configuration
HTTP-RPC
boolean
Enable the HTTP-RPC server.
string
default:"127.0.0.1"
HTTP-RPC server listening interface. Use “0.0.0.0” to accept external connections.
number
default:"8545"
HTTP-RPC server listening port.
string
Comma-separated list of APIs to offer over HTTP-RPC:
eth: Ethereum JSON-RPCnet: Network informationweb3: Web3 utilitiesposv: Viction consensus datadebug: Debug APIs (use with caution)personal: Account management (use with caution)db: Database read/write
string
Comma-separated list of domains to accept cross-origin requests from (browser enforced).
string
default:"localhost"
Comma-separated list of virtual hostnames to accept requests from (server enforced).
number
default:"120"
Timeout for RPC HTTP handlers in seconds.
WebSocket-RPC
boolean
Enable the WebSocket-RPC server.
string
default:"127.0.0.1"
WebSocket-RPC server listening interface.
number
default:"8546"
WebSocket-RPC server listening port.
string
APIs offered over WebSocket-RPC interface.
string
Origins from which to accept WebSocket requests.
IPC
boolean
Disable the IPC-RPC server.
string
Filename for IPC socket/pipe within the datadir.
Transaction Pool Configuration
boolean
Disable price exemptions for locally submitted transactions.
string
default:"transactions.rlp"
Disk journal for local transactions to survive node restarts.
duration
default:"1h"
Time interval to regenerate the local transaction journal.
number
default:"1"
Minimum gas price limit to enforce for acceptance into the pool.
number
default:"10"
Price bump percentage to replace an already existing transaction.
number
default:"16"
Minimum number of executable transaction slots guaranteed per account.
number
default:"4096"
Maximum number of executable transaction slots for all accounts.
number
default:"64"
Maximum number of non-executable transaction slots permitted per account.
number
default:"1024"
Maximum number of non-executable transaction slots for all accounts.
duration
default:"3h"
Maximum amount of time non-executable transactions are queued.
Performance Tuning
Cache Configuration
number
default:"1024"
Megabytes of memory allocated to internal caching.
number
default:"75"
Percentage of cache memory allowance to use for database I/O.
number
default:"25"
Percentage of cache memory allowance to use for trie pruning.
Monitoring and Logging
number
default:"3"
Logging verbosity level:
1: Error messages only2: Warnings and errors3: Info, warnings, and errors (default)4: Debug messages5: Trace messages (very verbose)
string
Reporting URL for ethstats service in format
nodename:secret@host:port.boolean
Enable metrics collection and reporting.
boolean
Enable expensive metrics collection and reporting.
string
default:"127.0.0.1"
Metrics HTTP server listening interface.
number
default:"6060"
Metrics HTTP server listening port.
Viction-Specific Options
boolean
Always commit transactions. Useful for testing and development.
boolean
Store masternode reward data to files. Requires
--gcmode archive.Reward files are stored in
{datadir}/tomo/rewards/number
default:"0"
Number of blocks to rewind. Used for debugging and recovery.
string
Rollback chain to specified block hash.
number
default:"256"
Number of blocks to re-execute during import.
TomoX Configuration
boolean
Enable the TomoX DEX protocol.
string
Data directory for TomoX databases. Defaults to
{datadir}/tomox.string
default:"leveldb"
Database engine for TomoX:
leveldb: LevelDB (default)mongodb: MongoDB
string
default:"tomodex"
Database name for TomoX.
string
default:"localhost:27017"
MongoDB connection URL (if using MongoDB engine). Supports multiple instances separated by commas.
string
MongoDB replica set name (if using master-slave setup).
Configuration File
Instead of passing all flags via command line, you can use a configuration file:Common Configuration Patterns
- Full Node
- Masternode
- Archive Node
- Testnet
Next Steps
Run a Full Node
Get started with running a full node
Docker Deployment
Deploy using Docker containers