[go: up one dir, main page]

Crate equix

Source
Expand description

§equix

equix: Rust reimplementation of tevador’s Equi-X, a client puzzle for Tor based on the Equihash and HashX algorithms

Check out tevador’s dev log for more information. The Equihash layer is based on Equihash60,3 and the underlying hash function HashX is another new project built as a lightweight ASIC-resistant hash function in the spirit of RandomX.

This crate implements a compact Equihash solver with the same memory footprint as the original Equi-X implementation. HashX is delegated to the hashx crate.

This is for Tor client puzzle support in Arti. (#889)

Structs§

EquiX
One Equi-X instance, customized for a challenge string
EquiXBuilder
Builder for creating EquiX instances with custom settings
Solution
Potential solution to an EquiX puzzle
SolverMemory
Temporary memory used by the Equi-X solver

Enums§

Error
Errors applicable to constructing and verifying Equi-X puzzles
HashError
Errors that could occur while building a hash function
Runtime
Effective HashX runtime for a constructed program
RuntimeOption
Option for selecting a HashX runtime

Functions§

solve
Search for solutions, using default EquiXBuilder options.
verify
Check a Solution against a particular challenge.
verify_array
Check a SolutionItemArray.
verify_bytes
Check a SolutionByteArray.

Type Aliases§

SolutionArray
A bundle of solutions as returned by one invocation of the solver
SolutionByteArray
A byte array of the right length to convert to/from a Solution
SolutionItem
One item in the solution
SolutionItemArray
A raw Item array which may or may not be a well-formed Solution