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 - Basic multi-node setup
- 6-Node Validation - Extended multi-node testing
- Cirith Ungol Testing - Real-world sync testing
- Current Status Matrix
- Validation Walkthroughs
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
Documentation Links¶
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
Documentation Links¶
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
Documentation Links¶
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¶
- 3-Node E2E Walkthrough
- Complete setup from scratch
- Mining and syncing validation
- Block propagation testing
-
Results collection
- Extended network setup
- Per-node validation steps
- Long-running stability testing
-
Performance monitoring
- Mainnet sync setup
- SNAP and Fast sync procedures
- Peer diversity validation
- 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
Related Documentation¶
Core Validation Documents¶
- Gorgoroth Validation Status - Detailed validation tracking
- Gorgoroth Compatibility Testing - Protocol compatibility and test procedures
Testing Guides¶
- Gorgoroth Compatibility Testing - Detailed test procedures
- Cirith Ungol Testing Guide - Real-world sync testing
- E2E Testing Guide - End-to-end testing framework
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¶
- P2P Communication Validation - Protocol details
- RLPx Validation Plan - RLPx testing
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¶
- Run 6-node per-node validation tests
- Run Cirith Ungol mainnet sync test
- Run multi-client tests (Core-Geth, Besu)
Medium Priority¶
- Extended stability testing (48h, 7d)
- Performance benchmarking
- Community engagement for validation results
Low Priority¶
- Automated CI validation
- Performance regression testing
- Load testing with high transaction volume
For questions or support: Create an issue on GitHub or consult the documentation linked above.