Skip to main content

Module pow_required_estimator

Module pow_required_estimator 

Source
Expand description

§Progress reporting and ETA estimation for long PoW searches

A book-keeping helper for crate::tools::parallel_pow_generator: tracks how many attempts have been made across repeated batches, what the best-so-far pow is, and produces a human-readable log line including an ETA.

Because PoW search is memoryless (geometric), past attempts give no information about how many attempts remain — the expected remaining is always 2^pow_required no matter how long you’ve already been trying. The estimator uses rate of attempts per second to turn that into wall-clock seconds. For a geometric distribution the standard deviation equals the mean, so “30s ± 30s” ETAs are the norm; this is an honest report, not a bug.

The best_pow_so_far field doubles as a sanity check: after n attempts the expected maximum leading-zero count is log2(n) - 0.83. A value wildly below that suggests a broken RNG or hash chain.

Structs§

PowRequiredEstimator
Tracks progress across repeated calls to pow_generate_with_iteration_limit and produces a log-friendly ETA estimate.