Skip to main content

Quick Start Guide

This guide will help you quickly set up and run a Viction full node. For detailed installation instructions, see the Installation guide.

Prerequisites

A Viction node requires an account even when running as a full node (non-masternode). Make sure you have your account ready before starting.
Before you begin, ensure you have:
  • Go 1.18 or higher installed
  • A C compiler (gcc or equivalent)
  • At least 4GB RAM
  • 100GB+ disk space for blockchain data

Installation

1

Clone the Repository

git clone https://github.com/BuildOnViction/victionchain
cd victionchain
2

Build the Binary

Build the tomo client using the build script:
go run build/ci.go install
This will create the tomo binary in build/bin/tomo.
Alternatively, download pre-built binaries from the GitHub releases page.
3

Create or Import an Account

Every node needs an account. Choose one of the following:Create a new account:
tomo account new --password /path/to/password_file --keystore /path/to/keystore_dir
Import an existing private key:
tomo account import /path/to/privatekey_file --password /path/to/password_file --keystore /path/to/keystore_dir
Store your password file securely! Without it, you cannot unlock your account.
4

Start Your Node

Run a basic full node with minimal configuration:
tomo --datadir /path/to/data_dir \
  --keystore /path/to/keystore_dir \
  --password /path/to/password_file \
  --unlock 0
Your node will:
  • Connect to Viction mainnet (Chain ID: 88)
  • Start syncing the blockchain
  • Unlock your account for transactions

Verify Your Node

Once your node is running, verify it’s working correctly:
# Attach to running node
tomo attach /path/to/data_dir/tomo.ipc

# Check sync status
> eth.syncing

# Check peer count
> net.peerCount

# Get latest block
> eth.blockNumber

Enhanced Configuration

For a production node with RPC/WebSocket access, use additional flags:
tomo --datadir /path/to/data_dir \
  --keystore /path/to/keystore_dir \
  --password /path/to/password_file --unlock 0 \
  --identity my-full-node \
  --networkid 88 \
  --gasprice 250000000 \
  --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpcvhosts "*" --rpccorsdomain "*" \
  --rpcapi "eth,debug,net,db,personal,web3" \
  --ws --wsaddr 0.0.0.0 --wsport 8546 --wsorigins "*" \
  --port 30303 \
  --syncmode "full" --gcmode "full" \
  --verbosity 3

Key Configuration Flags

  • --identity: Your node’s name
  • --networkid: Network ID (88 for mainnet, 89 for testnet)
  • --tomo-testnet: Connect to testnet instead of mainnet
  • --port: P2P listening port (default: 30303)
  • --rpc: Enable HTTP-RPC server
  • --rpcaddr: HTTP-RPC server listening interface (0.0.0.0 for all)
  • --rpcport: HTTP-RPC server port (default: 8545)
  • --rpcapi: APIs offered over HTTP-RPC
  • --rpccorsdomain: CORS domain for HTTP-RPC
  • --rpcvhosts: Virtual hostnames accepted by HTTP-RPC
  • --ws: Enable WebSocket server
  • --wsaddr: WebSocket server listening interface
  • --wsport: WebSocket server port (default: 8546)
  • --wsorigins: Origins accepted by WebSocket server
  • --syncmode: Blockchain sync mode ("fast", "full", or "light")
  • --gcmode: Garbage collection mode ("full" or "archive")
  • --datadir: Data directory for databases and keystore
  • --gasprice: Minimal gas price to accept for mining (250000000 recommended)
  • --verbosity: Logging verbosity (0-5, recommended: 3)

Running with Docker

Prefer containers? Run Viction with Docker:
1

Pull or Build Image

Option 1: Build locally
docker build --file Dockerfile.node -t "buildonviction/node:v2.5.1" .
Option 2: Pull from registry
docker pull buildonviction/node:v2.5.1
2

Run Container

docker run --name viction \
  -v "/path/to/data_dir:/tomochain/data" \
  -v "/path/to/keystore_dir:/tomochain/keystore" \
  -v "/path/to/password_file:/tomochain/password" \
  -p 8545:8545 \
  -p 8546:8546 \
  -p 30303:30303 \
  -e IDENTITY=my-full-node \
  -e NETWORK_ID=88 \
  -e NETSTATS_HOST=stats.viction.xyz \
  -e NETSTATS_PORT=443 \
  -e WS_SECRET=getty-site-pablo-auger-room-sos-blair-shin-whiz-delhi \
  -e VERBOSITY=3 \
  buildonviction/node:v2.5.1

Docker Environment Variables

VariableDescriptionDefault
IDENTITYYour node’s name-
NETWORK_IDNetwork ID (88=mainnet, 89=testnet)88
SYNC_MODESync mode (full/fast/light)full
BOOTNODESComma-separated list of bootnode enodes-
EXTIPExternal IP for P2P connections-
P2P_PORTP2P listening port30303
MAX_PEERSMaximum number of peers (0=disable P2P)25
NETSTATS_HOSTEthstats hostnamenetstats-server
NETSTATS_PORTEthstats port3000
WS_SECRETEthstats secret-
PRIVATE_KEYNode account private key (plaintext)-
PASSWORDAccount password (plaintext)-
DEBUG_MODEEnable archive mode and debug APIs-
STORE_REWARDEnable masternode reward snapshots-
VERBOSITYLogging verbosity (1-5)3

Monitoring Your Node

Report to Network Stats

Connect your node to the network statistics dashboard:
tomo --datadir /path/to/data_dir \
  --ethstats my-node-name:getty-site-pablo-auger-room-sos-blair-shin-whiz-delhi@stats.viction.xyz \
  # ... other flags
View your node on the stats page: https://stats.viction.xyz

Check Sync Progress

Attach to the console and check sync status:
// Returns false when fully synced
eth.syncing

// Shows current block vs highest known block when syncing
{
  currentBlock: 1000000,
  highestBlock: 5000000,
  knownStates: 2000000,
  pulledStates: 1500000,
  startingBlock: 0
}

Next Steps

Installation Guide

Detailed installation instructions for all platforms

Account Management

Learn about managing accounts, creating, importing, and updating

Become a Masternode

Run a masternode and earn rewards

Network Information

Detailed network parameters and endpoints
Need help? Check out the full documentation or visit the GitHub repository for issues and discussions.