This tool tests whether your hardware is compatible with the 128MB/6s upgrade for Celestia validator nodes. It benchmarks your system's CPU performance by measuring the time it takes to execute the consensus steps with 127 transactions of 1MB each.
- Runs 20 iterations of the consensus steps with a 128MB block (with 127 x 1MB transactions)
- Calculates the median time for each operation
- Compares your results against reference times required for 128MB/6s
- Provides a clear recommendation on whether your hardware is ready for the upgrade
- Must run on Linux (CPU feature detection requires
/proc/cpuinfo) - Go 1.24 or higher
go run ./tools/cpu_requirementsYou can also run the benchmarking tool using docker:
docker run ghcr.io/celestiaorg/128mb-6s-benchmark:v0.0.1The tool displays:
- Progress for each iteration
- Median execution time for each operation in milliseconds
- Comparison to reference times (faster/slower with multiplier)
- Final assessment with hardware upgrade recommendations if needed
If your system is slower than reference times, you need to upgrade to:
- 32 CPU cores (or more)
- CPUs with GFNI (Galois Field New Instructions) support
- CPUs with SHA-NI (SHA New Instructions) support
These are the minimum requirements to handle the 128MB/6s block throughput.
Adjust these constants in main.go:
benchmarkIterations: Number of test runs (default: 20)referencePrepareProposalMs, etc.: Reference times in milliseconds