Installation Guide
This guide covers all methods for installing and running a Viction node, including building from source, using pre-built binaries, and Docker deployment.System Requirements
Minimum Requirements
- CPU: 2+ cores
- RAM: 4GB minimum, 8GB recommended
- Storage: 100GB+ SSD (blockchain grows over time)
- Network: Stable internet connection
- OS: Linux, macOS, or Windows
Software Prerequisites
- Linux
- macOS
- Windows
- Go 1.18 or higher
- GCC compiler
- Git
Ubuntu/Debian
CentOS/RHEL
Installation Methods
Method 1: Build from Source
Building from source gives you the latest code and full control over the build process.Install Go
Build Binary
Use the build script to compile the This compiles and installs the binary to
tomo client:build/bin/tomo.The build process may take several minutes depending on your system.
Method 2: Pre-built Binaries
The fastest way to get started is using pre-compiled binaries.Download Binary
Method 3: Docker Installation
Docker provides isolated, reproducible deployments.Install Docker
Account Management
Before running a node, you need an account to unlock. Viction uses thetomo account command for keystore management.
Create a New Account
Import Existing Account
If you have a private key, import it:List Accounts
Update Account Password
Network Configuration
Mainnet Configuration
Connect to Viction mainnet (Chain ID: 88):- Chain ID:
88 - Network ID:
88 - Block time: 2 seconds
- Epoch: 900 blocks
- Consensus: Proof of Stake Voting (PoSV)
Testnet Configuration
Connect to Viction testnet (Chain ID: 89):- Chain ID:
89 - Network ID:
89 - Use
--tomo-testnetflag - Same consensus parameters as mainnet
Full Node Configuration
A complete full node configuration with all features enabled:Configuration Breakdown
Core Settings
Core Settings
Network Settings
Network Settings
RPC Settings
RPC Settings
eth: Ethereum JSON-RPCnet: Network informationweb3: Web3 utilitiespersonal: Account managementdb: Database accessdebug: Debug and tracing
WebSocket Settings
WebSocket Settings
Sync & Storage
Sync & Storage
fast: Fast sync (downloads state snapshots)full: Full verification of all blockslight: Light client mode (minimal storage)
full: Regular node (pruned state)archive: Archive node (full historical state)
Mining/Staking Settings
Mining/Staking Settings
Monitoring
Monitoring
Archive Node Configuration
An archive node stores complete historical state:Docker Compose Setup
For production deployments, use Docker Compose:docker-compose.yml
Systemd Service (Linux)
Create a systemd service for automatic startup:/etc/systemd/system/viction.service
Firewall Configuration
Open required ports:UFW (Ubuntu)
Firewalld (CentOS/RHEL)
Troubleshooting
Node Won’t Start
Account unlock fails
Account unlock fails
Error:
Failed to unlock accountSolution:- Verify password file exists and is readable
- Check password is correct
- Ensure keystore path is correct
- Try
--unlock 0or--unlock <address>
Port already in use
Port already in use
Error:
bind: address already in useSolution:- Check if another instance is running:
ps aux | grep tomo - Change ports with
--port,--rpcport, or--wsport - Kill existing process:
pkill tomo
Out of disk space
Out of disk space
Error:
write: no space left on deviceSolution:- Check disk usage:
df -h - Clean old logs
- Move datadir to larger partition
- For full nodes, consider pruning with
--gcmode full
Sync Issues
Stuck at specific block
Stuck at specific block
Solution:
- Check if your version is up to date
- Verify network connectivity
- Try different bootnodes
- Increase peer count:
--maxpeers 50
Too few peers
Too few peers
Solution:
- Check firewall allows port 30303
- Enable NAT traversal:
--nat upnp - Add explicit bootnodes:
--bootnodes <enode-urls> - Set external IP:
--nat extip:<your-public-ip>
Next Steps
Quick Start
Get your node running quickly
Run a Masternode
Become a validator and earn rewards
Network Info
Network parameters and endpoints
GitHub Repository
Source code and issues
For advanced configuration, custom genesis blocks, or private networks, refer to the full documentation.