Skip to content

Gorgoroth Battlenet - Complete Testing Status & Validation Checklist

Last Updated: December 21, 2025
Status: 🟡 IN PROGRESS - INFRASTRUCTURE COMPLETE, VALIDATION NEEDED

Overview

This document provides a comprehensive status tracker for all Gorgoroth battlenet testing scenarios. Gorgoroth is our test network for validating Fukuii compatibility with other Ethereum Classic clients in controlled environments.

Quick Navigation


3-Node Validation Scenario

Purpose: Validate Fukuii self-consistency and core functionality by testing Fukuii nodes against themselves.

Configuration

  • 3 Fukuii nodes in Docker environment
  • Single miner (node1 mines; node2/node3 follow)
  • Shared genesis configuration
  • Static peering (no discovery)
  • Goal: Validate Fukuii is functional and self-consistent

Test Checklist

Network Communication

  • RLPx handshakes working
  • Handshake protocol (eth/68, snap/1)
  • Static node configuration
  • Protocol version compatibility
  • Multi-client peer discovery (Fukuii ↔ Core-Geth)
  • Multi-client peer discovery (Fukuii ↔ Besu)

Block Production & Propagation

  • Mining enabled on node1 only
  • Blocks produced consistently
  • Block propagation across nodes
  • PoW consensus maintained
  • Multi-client block acceptance (Core-Geth blocks → Fukuii)
  • Multi-client block acceptance (Besu blocks → Fukuii)
  • Multi-client block acceptance (Fukuii blocks → Core-Geth)
  • Multi-client block acceptance (Fukuii blocks → Besu)

Synchronization

  • Node startup and sync
  • Block sync from peers
  • Fast sync validation (500+ blocks)
  • State verification after sync

Test Scripts

cd ops/gorgoroth
./fukuii-cli start 3nodes
cd test-scripts
./test-connectivity.sh
./test-block-propagation.sh
./test-mining.sh

6-Node Validation Scenario

Purpose: Validate Fukuii interoperability and network connectivity by testing against reference Ethereum Classic clients.

Configuration

  • Mixed network: 3 Fukuii + 3 Core-Geth (or 3 Fukuii + 3 Besu)
  • Multi-client environment
  • Cross-client static peering (no discovery; bootnodes cleared)
  • Max 5 peers per node (private battlenet limit)
  • Goal: Validate Fukuii interoperability with Core-Geth and Besu

Test Checklist

Network Topology

  • Mixed network formation (3 Fukuii + 3 Core-Geth)
  • Cross-client connectivity (max 5 peers per node)
  • Discovery disabled; peers managed via sync-static-nodes
  • Peer churn handling (nodes joining/leaving)

Mining & Consensus

  • Mining across both Fukuii and Core-Geth
  • Cross-client block acceptance
  • Difficulty adjustment in mixed environment
  • Chain convergence between clients
  • Fork resolution
  • Uncle block handling

Cross-Client Validation

For Fukuii nodes in mixed network, validate: - [ ] Fukuii Node 1: Mining + syncing from Core-Geth + block propagation - [ ] Fukuii Node 2: Mining + syncing from Core-Geth + block propagation - [ ] Fukuii Node 3: Mining + syncing from Core-Geth + block propagation - [ ] Core-Geth accepts Fukuii blocks - [ ] Besu accepts Fukuii blocks (if testing with Besu)

Synchronization Testing

  • Fukuii syncs from Core-Geth nodes
  • Fukuii syncs from Besu nodes
  • Fukuii syncs from mixed peers (Fukuii + Core-Geth)
  • State verification across all clients
  • Historical block retrieval
  • State trie consistency

Long-Running Stability

  • 24-hour continuous operation
  • 48-hour continuous operation
  • Memory usage stability
  • No consensus failures
  • Block production consistency

Test Scripts

# Start mixed network (3 Fukuii + 3 Core-Geth)
fukuii-cli start fukuii-geth

# Sync peer connections
fukuii-cli sync-static-nodes

# Check status
fukuii-cli status fukuii-geth

# View logs
fukuii-cli logs fukuii-geth

# Collect results
fukuii-cli collect-logs fukuii-geth /tmp/results

Cirith Ungol Testing Scenario

Purpose: Real-world validation using public ETC mainnet and Mordor testnet for snap/fast sync testing against diverse node types and unmanaged network traffic.

Configuration

  • Single Fukuii node connecting to public network
  • ETC Mainnet (20M+ blocks) or Mordor testnet
  • Public peer discovery (unmanaged nodes)
  • Snap and Fast sync modes
  • Goal: Long-range testing with diverse traffic and node types

Test Checklist

Snap Sync Testing

  • SNAP sync from ETC mainnet (2-6 hours expected)
  • SNAP sync from Mordor testnet
  • Account range downloads
  • Storage range downloads
  • Bytecode downloads
  • Trie healing phase
  • Transition to full sync
  • State queryability after sync

Fast Sync Testing

  • Fast sync from ETC mainnet
  • Fast sync from Mordor testnet
  • Pivot block selection
  • State download
  • Receipt downloads
  • Transition to full sync
  • Historical data availability

Peer Diversity Testing

  • Connect to 10+ diverse peers
  • Peer from Core-Geth
  • Peer from Besu
  • Peer from other Fukuii nodes
  • Peer from OpenEthereum (if available)
  • Handle different protocol versions
  • Handle different capabilities

Traffic & Load Testing

  • Handle high block arrival rate
  • Handle transaction propagation
  • Handle peer churn
  • Handle network partitions
  • Handle malformed messages
  • Resource usage under load

Long-Term Stability

  • 24-hour operation on mainnet
  • 48-hour operation on mainnet
  • 7-day operation on mainnet
  • Memory stability
  • CPU usage patterns
  • Disk I/O patterns
  • Network bandwidth usage

Test Scripts

cd ops/cirith-ungol
./start.sh start          # Start with default (SNAP sync)
./start.sh logs           # Monitor progress
./start.sh status         # Check sync status
./start.sh collect-logs   # Collect results

Current Status Matrix

Infrastructure Status

Component Status Notes
Docker Compose Configs ✅ Complete 3-node, 6-node, mixed-client
Genesis Configuration ✅ Complete Gorgoroth genesis validated
Static Node Files ✅ Complete Peer discovery working
Test Scripts ✅ Complete Automated test suite
Documentation ✅ Complete Guides and runbooks
CI/CD Integration ⚠️ Partial Nightly builds, need stats

3-Node Scenario Status

Test Area Fukuii ↔ Fukuii Fukuii ↔ Core-Geth Fukuii ↔ Besu
Network Communication ✅ Validated ⚠️ Ready ⚠️ Ready
Block Propagation ✅ Validated ⚠️ Ready ⚠️ Ready
Mining Consensus ✅ Validated ⚠️ Ready ⚠️ Ready
Basic Sync ✅ Validated ⚠️ Ready ⚠️ Ready

6-Node Scenario Status

Test Area Status Notes
Mixed Network Formation ✅ Validated 3 Fukuii + 3 Core-Geth
Cross-Client Mining ✅ Validated Both clients mine blocks
Cross-Client Validation ⚠️ Pending Per-node interop tests needed
Long-Running Stability ⚠️ Pending Need 8h+ multi-client runs

Cirith Ungol Scenario Status

Test Area ETC Mainnet Mordor Testnet
SNAP Sync ⚠️ Ready ⚠️ Ready
Fast Sync ⚠️ Ready ⚠️ Ready
Peer Diversity ⚠️ Ready ⚠️ Ready
Long-Term Stability ⚠️ Ready ⚠️ Ready

Legend: - ✅ Validated: Tested and confirmed working - ⚠️ Ready: Infrastructure in place, needs execution - 🔄 In Progress: Currently being tested - ❌ Failed: Test executed but failed - ⏸️ Blocked: Cannot test due to dependency


Validation Walkthroughs

Detailed step-by-step walkthroughs for each testing scenario:

Available Walkthroughs

  1. 3-Node E2E Walkthrough
  2. Complete setup from scratch
  3. Mining and syncing validation
  4. Block propagation testing
  5. Results collection

  6. 6-Node E2E Walkthrough

  7. Extended network setup
  8. Per-node validation steps
  9. Long-running stability testing
  10. Performance monitoring

  11. Cirith Ungol E2E Walkthrough

  12. Mainnet sync setup
  13. SNAP and Fast sync procedures
  14. Peer diversity validation
  15. Production readiness testing

Quick Start for Community Testers

Phase 1: Start with 3-Node (1-2 hours)

# Test Fukuii self-consistency
fukuii-cli start 3nodes
fukuii-cli sync-static-nodes
# Run validation tests...

Phase 2: Test Mixed Network (4-8 hours)

# Test Fukuii interoperability with Core-Geth
fukuii-cli start fukuii-geth
fukuii-cli sync-static-nodes
# Run cross-client validation...

Phase 3: Validate with Cirith Ungol (6-24 hours)

# Test against real mainnet with unmanaged peers
cd ops/cirith-ungol
./start.sh start
./start.sh logs
# Wait for sync to complete
./start.sh collect-logs


Core Validation Documents

Testing Guides

Operations

For operational setup and configuration, see the following files in the repository: - ops/gorgoroth/README.md - Network setup and operations - ops/gorgoroth/QUICKSTART.md - Quick start guide - ops/cirith-ungol/README.md - Single-node operations

Reference


CI/CD Integration

Nightly Testing

The nightly CI/CD workflow includes: - ✅ Docker image builds - ✅ Comprehensive test suite - ⚠️ Gorgoroth validation metrics (to be added) - ⚠️ GitHub statistics (PRs per milestone) (to be added)

Planned Enhancements

  • Automated 3-node validation in CI
  • Automated 6-node validation in CI
  • Nightly Cirith Ungol sync tests
  • GitHub statistics reporting
  • Performance benchmarking
  • Test result aggregation

See .github/workflows/nightly.yml in the repository for the nightly workflow configuration.


Reporting Results

When you complete testing, please report results by creating a GitHub issue with the "validation-results" label.

Report Template

## Gorgoroth Validation Results

**Scenario**: [3-node / 6-node / Cirith Ungol]
**Configuration**: [3nodes / 6nodes / fukuii-geth / mainnet / mordor]
**Date**: YYYY-MM-DD
**Tester**: Your Name
**Duration**: X hours

### Test Results
- Network Communication: ✅/❌
- Block Propagation: ✅/❌
- Mining: ✅/❌
- Sync (Fast/SNAP): ✅/❌
- Stability: ✅/❌

### Performance Metrics
- Sync time: X minutes
- Blocks synced: X
- Peers connected: X
- Memory usage: X MB
- CPU usage: X%

### Issues Found
- List any issues discovered

### Logs
- Attach or link to logs

Success Criteria

Validation will be considered complete when:

3-Node Scenario

  • ✅ All Fukuii ↔ Fukuii tests pass
  • ⚠️ Results documented and reviewed

6-Node Scenario (Mixed Network)

  • ⚠️ All Fukuii nodes pass cross-client validation
  • ⚠️ Mixed network runs stable for 8+ hours
  • ⚠️ Mining distributes across Fukuii and Core-Geth
  • ⚠️ Fukuii syncs from Core-Geth/Besu
  • ⚠️ Results documented and reviewed

Cirith Ungol Scenario

  • ⚠️ SNAP sync completes on mainnet
  • ⚠️ Fast sync completes on mainnet
  • ⚠️ Connects to 10+ diverse peers
  • ⚠️ Runs stable for 24+ hours
  • ⚠️ State is fully queryable
  • ⚠️ Results documented and reviewed

Next Steps

High Priority

  1. Run 6-node per-node validation tests
  2. Run Cirith Ungol mainnet sync test
  3. Run multi-client tests (Core-Geth, Besu)

Medium Priority

  1. Extended stability testing (48h, 7d)
  2. Performance benchmarking
  3. Community engagement for validation results

Low Priority

  1. Automated CI validation
  2. Performance regression testing
  3. Load testing with high transaction volume

For questions or support: Create an issue on GitHub or consult the documentation linked above.