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