Documentation Index
Fetch the complete documentation index at: https://mintlify.com/buildonviction/victionchain/llms.txt
Use this file to discover all available pages before exploring further.
This page provides essential network information for connecting to Viction mainnet and testnet.
Network IDs
Viction operates two public networks:
Mainnet
- Network ID: 88
- Chain ID: 88
- Currency Symbol: VIC
- Currency Decimals: 18
- Block Explorer: https://vicscan.xyz
Testnet
Network ID and Chain ID are identical for both networks, making EIP-155 replay protection straightforward.
Genesis Configuration
From params/config.go:
Mainnet Genesis
VicMainnetChainConfig = &ChainConfig{
ChainId: big.NewInt(88),
HomesteadBlock: big.NewInt(1),
EIP150Block: big.NewInt(2),
EIP155Block: big.NewInt(3),
EIP158Block: big.NewInt(3),
ByzantiumBlock: big.NewInt(4),
SaigonBlock: big.NewInt(86158494),
AtlasBlock: big.NewInt(97705094),
Posv: &PosvConfig{
Period: 2,
Epoch: 900,
Reward: 250,
RewardCheckpoint: 900,
Gap: 5,
FoudationWalletAddr: common.HexToAddress("0x0000000000000000000000000000000000000068"),
},
}
Genesis Hash: 0x9326145f8a2c8c00bbe13afc7d7f3d9c868b5ef39d89f2f4e9390e9720298624
Testnet Genesis
VicTestnetChainConfig = &ChainConfig{
ChainId: big.NewInt(89),
HomesteadBlock: big.NewInt(1),
EIP150Block: big.NewInt(2),
EIP155Block: big.NewInt(3),
EIP158Block: big.NewInt(3),
ByzantiumBlock: big.NewInt(4),
TIP2019Block: big.NewInt(0),
TIPSigningBlock: big.NewInt(0),
TIPRandomizeBlock: big.NewInt(0),
SaigonBlock: big.NewInt(10004200),
AtlasBlock: big.NewInt(24697500),
Posv: &PosvConfig{
Period: 2,
Epoch: 900,
Reward: 250,
RewardCheckpoint: 900,
Gap: 5,
FoudationWalletAddr: common.HexToAddress("0x0000000000000000000000000000000000000068"),
},
}
Genesis Hash: 0x296f14cfe39dd2ce9cd2dcf2bd5973c9b59531bc239e7d445c66268b172e52e3
Network Parameters
Consensus Parameters
- Block Time: 2 seconds (
Period: 2)
- Epoch Length: 900 blocks (~30 minutes)
- Block Reward: 250 VIC
- Gas Limit: 84,000,000 gas per block
- Minimum Gas Price: 250 Gwei (250000000 wei)
Hard Fork Blocks
Mainnet:
- Homestead: Block 1
- EIP-150: Block 2
- EIP-155/158: Block 3
- Byzantium: Block 4
- Saigon: Block 86,158,494
- Atlas: Block 97,705,094
Testnet:
- Most TIPs activated at genesis (Block 0)
- Saigon: Block 10,004,200
- Atlas: Block 24,697,500
Public RPC Endpoints
Mainnet RPC
HTTP:
WebSocket:
Testnet RPC
HTTP:
https://rpc-testnet.viction.xyz
WebSocket:
wss://ws-testnet.viction.xyz
Rate Limits
Public RPC endpoints have rate limits. For production applications, consider running your own node or using dedicated RPC providers.
Rate Limits:
- 10 requests per second per IP
- 1000 requests per hour per IP
- Some methods may have additional restrictions
RPC Methods
Supported JSON-RPC methods:
- Standard Ethereum JSON-RPC API
eth_* methods (accounts, transactions, blocks, state)
net_* methods (network information)
web3_* methods (utilities)
debug_* methods (debugging - limited on public nodes)
posv_* methods (PoSV-specific queries)
Bootnodes
Bootnodes help new nodes discover peers on the network.
Mainnet Bootnodes
From params/bootnodes.go:
VicMainnetBootnodes = []string{
"enode://98b06c30c631ab869c25b4836684b3de632ec7db60db34920095f8039cd49076913a64565dc4d8a06569bd84afa9553b95590ba3dd86263e3b9b5657463693a7@162.19.43.250:30301",
"enode://4c075010c7c1199240aea58a4e570b13af374a4aa2ed0219360c6017da34ca644706426ab2c75f1da00552ef4a40245ba043854d20e7c1873306023b6790bf03@15.235.228.11:30301",
"enode://477afcdf9581d0f38f00b2d0376bb536a3c71b13fcfa3d6039efb19c57a69e389b819efeb516609fe3eb3c90a8ffe620e62abaf481de6b07b873cad543a635fb@162.19.103.252:30301",
"enode://6a03f00972d02bc1f004fd05adf9384fb05a629e69ae894eebe1b55fe667a2313b595a180418f505948f99e5c66661229f8ea1d5c12aadb16433cae3122d1d8a@3.1.61.17:30301",
"enode://f799bf1da9f8b25891054913d876b1dcc301284fd001078239bcb5fb408078ac89741b8039f9adb0dfbfe72dca0b753e48099de3a059c3e23dc2402434ff8fd6@13.229.196.181:30301",
"enode://d3a79693bf18fd5136a4b1809193e28f94400b00a65a7f21c918876d986212c8031834b332f39fb8a814fb5e90f0e413fead6953d1aa23a839bba1224e285ed6@122.248.245.143:30301",
}
Testnet Bootnodes
VicTestnetBootnodes = []string{
"enode://77c303c0d7cd03cb0fcfee0b7fc1b162d2fcaf667dc23b416e631196c8d7bed9b937944372b4673bc3d8dcede4b37bf8e7e8855bbda76c96bba3fb573a10f1ad@162.19.43.250:30304",
"enode://b9b5f61ab47f3681e75240d8b86d05ab451cd47f206d1d3cb69a87c71491236cec10b8a7740ec88616199d6a76d309f41a647e2802a63a8e449773ee3a920ba4@15.235.228.11:30304",
"enode://0f41c53da72e07e3514efd7ce9e3f758acc2066d8ae66955e540620f7108fff91f8ebdc734b89dca14db2a70cdaf8c957579ec94e3dfdfe91b2923272f1cc099@13.214.64.64:30601",
}
Wallet Configuration
Mainnet
- Open MetaMask and click “Add Network”
- Enter the following details:
Network Name: Viction Mainnet
RPC URL: https://rpc.viction.xyz
Chain ID: 88
Currency Symbol: VIC
Block Explorer URL: https://vicscan.xyz
Testnet
Network Name: Viction Testnet
RPC URL: https://rpc-testnet.viction.xyz
Chain ID: 89
Currency Symbol: VIC
Block Explorer URL: https://testnet.vicscan.xyz
Web3.js Configuration
const Web3 = require('web3');
// Mainnet
const web3Mainnet = new Web3('https://rpc.viction.xyz');
// Testnet
const web3Testnet = new Web3('https://rpc-testnet.viction.xyz');
// Verify connection
web3Mainnet.eth.net.getId().then(netId => {
console.log('Network ID:', netId); // Should be 88 for mainnet
});
Ethers.js Configuration
const { ethers } = require('ethers');
// Mainnet
const providerMainnet = new ethers.providers.JsonRpcProvider(
'https://rpc.viction.xyz',
{
chainId: 88,
name: 'viction-mainnet'
}
);
// Testnet
const providerTestnet = new ethers.providers.JsonRpcProvider(
'https://rpc-testnet.viction.xyz',
{
chainId: 89,
name: 'viction-testnet'
}
);
// Verify connection
providerMainnet.getNetwork().then(network => {
console.log('Network:', network);
});
Running Your Own Node
Quick Start
Mainnet Full Node
tomo --datadir ./data \
--keystore ./keystore \
--networkid 88 \
--rpc --rpcaddr 127.0.0.1 --rpcport 8545 \
--ws --wsaddr 127.0.0.1 --wsport 8546 \
--syncmode "full" --gcmode "full"
Testnet Full Node
tomo --datadir ./data-testnet \
--keystore ./keystore \
--networkid 89 \
--rpc --rpcaddr 127.0.0.1 --rpcport 8545 \
--ws --wsaddr 127.0.0.1 --wsport 8546 \
--syncmode "full" --gcmode "full"
Docker Setup
Mainnet
docker run -d --name viction-mainnet \
-v "$PWD/data:/tomochain/data" \
-v "$PWD/keystore:/tomochain/keystore" \
-p 8545:8545 -p 8546:8546 -p 30303:30303 \
-e NETWORK_ID=88 \
buildonviction/node:latest
Testnet
docker run -d --name viction-testnet \
-v "$PWD/data-testnet:/tomochain/data" \
-v "$PWD/keystore:/tomochain/keystore" \
-p 8545:8545 -p 8546:8546 -p 30303:30303 \
-e NETWORK_ID=89 \
buildonviction/node:latest
Sync Modes
Full Sync (Recommended):
--syncmode "full" --gcmode "full"
- Downloads all blocks and executes all transactions
- Prunes old state data (keeps last ~90 epochs)
- Suitable for most use cases
- Requires ~200GB storage
Archive Sync:
--syncmode "full" --gcmode "archive"
- Keeps complete historical state
- Required for block explorers and some analytics
- Requires 1TB+ storage and grows continuously
Light Sync (Experimental):
- Only downloads block headers
- Minimal storage and bandwidth
- Limited functionality
- Not recommended for production
Network Monitoring
Network Statistics
Mainnet Stats: https://stats.viction.xyz
Testnet Stats: https://stats-testnet.viction.xyz
Monitor:
- Active nodes
- Block production rate
- Network hash rate
- Transaction volume
- Gas prices
Block Explorers
Mainnet: https://vicscan.xyz
Testnet: https://testnet.vicscan.xyz
Explore:
- Blocks and transactions
- Addresses and contracts
- Token transfers
- Masternode information
- Network statistics
Gas Configuration
Gas Prices
From params/protocol_params.go:
const (
MinGasLimit uint64 = 5000
TomoGenesisGasLimit uint64 = 84000000
TxGas uint64 = 21000 // Base transaction cost
TxGasContractCreation uint64 = 53000 // Contract creation cost
)
Recommended Gas Settings
Standard Transfer:
- Gas Limit: 21,000
- Gas Price: 250 Gwei (0.00000025 VIC)
- Total Cost: ~0.00525 VIC
Contract Interaction:
- Gas Limit: 100,000 - 500,000 (depends on complexity)
- Gas Price: 250 Gwei
- Total Cost: 0.025 - 0.125 VIC
Contract Deployment:
- Gas Limit: 1,000,000+ (depends on contract size)
- Gas Price: 250 Gwei
- Total Cost: 0.25+ VIC
Viction’s gas prices are significantly lower than Ethereum, making it cost-effective for frequent transactions and complex contracts.
Network Ports
Standard Ports
- 30303: P2P network communication (TCP & UDP)
- 8545: HTTP JSON-RPC interface
- 8546: WebSocket JSON-RPC interface
Firewall Configuration
For a full node:
# Allow P2P connections
sudo ufw allow 30303/tcp
sudo ufw allow 30303/udp
# RPC/WS should be restricted to localhost or trusted IPs
# Do not expose to internet!
For a masternode:
# Only P2P port should be publicly accessible
sudo ufw allow 30303/tcp
sudo ufw allow 30303/udp
# RPC/WS restricted to localhost
sudo ufw deny 8545/tcp
sudo ufw deny 8546/tcp
Development Resources
Faucets
Testnet Faucet: Available through Discord and Telegram
Request testnet VIC for development and testing.
- Truffle: Fully compatible
- Hardhat: Fully compatible
- Remix: Works with custom network configuration
- Web3.js: Full support
- Ethers.js: Full support
- Viction SDK: Native SDK for Viction-specific features
Smart Contract Verification
Verify contracts on VicScan:
- Deploy contract and note the address
- Visit VicScan and search for your contract
- Click “Verify and Publish”
- Provide source code and compiler settings
- Submit for verification
Support and Community
Official Links
- Telegram: Official Viction community
- Discord: Developer community
- Twitter: @VictionOfficial
- Forum: Community discussions