Node Configuration

Setting up and running Tetreum nodes for development and production

Prerequisites
System requirements and dependencies for running a Tetreum node

System Requirements

CPU:4+ cores (Intel/AMD x64)
RAM:8GB minimum, 16GB recommended
Storage:100GB+ SSD storage
Network:Stable internet (10+ Mbps)
OS:Linux, macOS, Windows

Software Dependencies

Node.js:v18.0+ (LTS recommended)
Git:Latest version
Docker:v20.0+ (optional)
Ports:30303 (P2P), 8545 (RPC)
Quick Start Guide
Get your Tetreum node up and running in minutes

Step 1: Download Client

Download the latest Tetreum client from the official repository:

# Download latest release
curl -L https://github.com/tetreum/Tetreum-Testnet/releases/download/v1.0.1-testnet/tetreum-testnet-with-config.tar.gz | tar -xz cd tetreum-testnet | tar -xz
# Or build from source
git clone https://github.com/tetreum/tetreum-testnet.git
cd tetreum-testnet
chmod +x ./scripts/build.sh
./scripts/build.sh

Step 2: Configuration

Create a configuration file for your node:

# config.toml
[Eth]
NetworkId = 793788
SyncMode = "full"
DatabaseCache = 512
[Node]
DataDir = "./data"
HTTPPort = 8545
WSPort = 8546
[Node.P2P]
MaxPeers = 50
ListenAddr = ":30303"

Step 3: Start Node

Launch your node with the configuration:

# Start full node
./tetreumd --config config.toml --testnet
# Start with RPC enabled
./tetreumd --config config.toml --testnet --http --http.api eth,net,web3
Node Type Configurations
Specific configurations for different node types and use cases

Full Node

Complete blockchain replica with full transaction history and state.

Recommended for developers
--syncmode full
--cache 1024
--http --ws

Light Node

Lightweight client storing only block headers for mobile/IoT use.

Low resource usage
--syncmode light
--cache 128
--light.serve 25

Archive Node

Full historical data retention for blockchain analytics and research.

Complete history
--syncmode full
--gcmode archive
--cache 4096
RPC & API Configuration
Setting up JSON-RPC and WebSocket endpoints for external connections

HTTP RPC Configuration

# Enable HTTP RPC
--http
--http.addr 0.0.0.0
--http.port 8545
--http.corsdomain "*"
--http.api eth,net,web3,personal
Standard JSON-RPC 2.0 protocol
Rate limiting: 100 req/min
Use CORS carefully in production

WebSocket Configuration

# Enable WebSocket
--ws
--ws.addr 0.0.0.0
--ws.port 8546
--ws.origins "*"
--ws.api eth,net,web3
Real-time event subscriptions
Connection limit: 10/IP
Monitor connection count

Available API Modules

Core APIs
  • • eth (Ethereum API)
  • • net (Network info)
  • • web3 (Web3 utils)
Account APIs
  • • personal (Accounts)
  • • txpool (Tx pool)
  • • miner (Mining)
Debug APIs
  • • debug (Debugging)
  • • trace (Tracing)
  • • admin (Node admin)
Custom APIs
  • • tet (Tetreum)
  • • stats (Statistics)
  • • health (Health check)
Monitoring & Maintenance
Best practices for node monitoring, logging, and maintenance

Health Monitoring

# Check node status
curl -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_syncing","id":1"}' \
http://localhost:8545
# Monitor peer count
curl -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"net_peerCount","id":1"}' \
http://localhost:8545

Performance Metrics

Sync Status:Block height, sync mode
Peer Count:Connected peers (25-50)
Memory Usage:RAM consumption
Disk Space:Database size growth
Network I/O:Bandwidth usage

Common Issues & Solutions

Sync Issues
  • • Check peer connectivity
  • • Verify network configuration
  • • Clear corrupted database
  • • Update to latest version
Performance Issues
  • • Increase cache allocation
  • • Use SSD storage
  • • Monitor memory usage
  • • Optimize RPC settings