What is a Masternode?
Viction masternodes:- Validate and create new blocks
- Participate in the PoSV consensus mechanism
- Earn block rewards and transaction fees
- Require staking to be eligible
- Must maintain high uptime and performance
Requirements
Hardware
- 8GB+ RAM
- 4+ CPU cores
- 500GB+ SSD storage
- 100Mbps+ network
Staking
- 50,000 VIC tokens
- Registered on VicMaster
- Active voting support
- Unlocked account
Masternode Setup
Prepare your account
Create or import an account that holds your masternode stake:
Save your keystore files and password securely. Loss of these files means loss of access to your funds.
Register on VicMaster
Before running your masternode, you must:
- Hold at least 50,000 VIC tokens in your account
- Register your masternode on VicMaster
- Provide your node’s coinbase address
- Wait for community voting to reach the top 150
Your node will only produce blocks if it’s in the top 150 masternodes by voting power.
Configure and start the node
Run your node with staking enabled:Key flags for masternodes:
--mine: Enables staking/mining mode--unlock 0: Unlocks your account for signing blocks--gasprice 250000000: Sets minimum gas price for transactions--targetgaslimit 30000000: Sets target gas limit for blocks
Verify masternode status
Check that your masternode is recognized:Monitor your node on:
- VicScan - View your masternode status
- Network Stats - Real-time network monitoring
Masternode-Specific Configuration
Staking Options
Enables staking mode. Your node will participate in block creation if it’s a valid masternode.
Number of CPU threads to use for staking operations (default: 1)
Public address for block mining rewards. If not specified, uses the first unlocked account.
Target gas limit for blocks (default: 30000000)
Minimum gas price to accept for mining transactions (in wei)
API Configuration
For masternodes, enable the PoSV API to allow querying consensus-specific data:eth: Standard Ethereum JSON-RPCnet: Network informationweb3: Web3 utilitiesposv: Viction consensus datadebug: Debug APIs (use with caution)personal: Account management (use with caution)
Network Configuration
- NAT Configuration
- Peer Management
- Port Configuration
If your node is behind NAT, configure external IP:Other NAT options:
Masternode Operations
Automatic Validation
The Viction node automatically detects if your account is a registered masternode:- At startup: Checks if the unlocked account is a valid masternode
- At checkpoints: Re-validates masternode status
- Auto-enable: Starts staking if masternode is valid
- Auto-disable: Stops staking if masternode status is lost
Monitoring Masternode Status
Your node logs will show:- Registration on VicMaster
- Voting power (must be in top 150)
- Unlocked account matches registered address
Reward Collection
Storing Reward Reports
To track masternode rewards:{datadir}/tomo/rewards/
Reward Distribution
Masternodes earn:- Block rewards: For creating blocks
- Transaction fees: From transactions in created blocks
- Voter rewards: Distributed to voters who staked with your masternode
High Availability Setup
Infrastructure
- Use dedicated servers with high uptime SLAs
- Implement monitoring and alerting
- Set up automatic restarts on failure
- Use SSD storage for better I/O performance
Network
- Ensure stable, high-bandwidth internet
- Configure firewall rules properly
- Set up DDoS protection
- Use static IP address
Monitoring
Monitor these metrics:
- Node sync status
- Peer count
- Block creation rate
- System resources (CPU, RAM, disk)
- Network connectivity
Performance Tuning
Thread Configuration
Memory Optimization
Transaction Pool
Troubleshooting
Masternode not mining
Masternode not mining
Check:
- Account is unlocked:
--unlock 0 - Mining is enabled:
--mine - Node is registered on VicMaster
- Node is in top 150 by voting power
- Node is fully synced
- Logs show “Masternode found. Enabling staking mode…”
Lost masternode status
Lost masternode status
If your node stops mining:
- Check voting power on VicMaster
- Verify account balance meets minimum stake
- Ensure node hasn’t been penalized for downtime
- Check if account is still unlocked
High resource usage
High resource usage
Optimize:
- Reduce
--cachevalue - Lower
--minerthreads - Use
--gcmode fullinstead of archive - Reduce
--maxpeers - Disable
--store-rewardif not needed
Network connectivity issues
Network connectivity issues
- Verify port 30303 is open
- Check firewall rules
- Try adding bootnodes manually
- Verify NAT configuration
- Check if IP is blacklisted
Security Best Practices
Key Management
- Never share private keys
- Use hardware security modules for production
- Regularly rotate passwords
- Keep keystore backups offline
Network Security
- Use firewall to restrict RPC access
- Don’t expose
personalAPI publicly - Enable HTTPS for RPC endpoints
- Implement rate limiting
System Security
- Keep OS and software updated
- Use non-root user for node process
- Enable disk encryption
- Monitor system logs
Operational Security
- Monitor node 24/7
- Set up automated alerts
- Have incident response plan
- Regular security audits
Next Steps
Configuration Reference
Complete list of all configuration flags
Docker Deployment
Deploy your masternode with Docker