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
- EquiX
Builder - Builder for creating
EquiXinstances with custom settings - Solution
- Potential solution to an EquiX puzzle
- Solver
Memory - Temporary memory used by the Equi-X solver
Enums§
- Error
- Errors applicable to constructing and verifying Equi-X puzzles
- Hash
Error - Errors that could occur while building a hash function
- Runtime
- Effective HashX runtime for a constructed program
- Runtime
Option - Option for selecting a HashX runtime
Functions§
- solve
- Search for solutions, using default
EquiXBuilderoptions. - verify
- Check a
Solutionagainst a particular challenge. - verify_
array - Check a
SolutionItemArray. - verify_
bytes - Check a
SolutionByteArray.
Type Aliases§
- Solution
Array - A bundle of solutions as returned by one invocation of the solver
- Solution
Byte Array - A byte array of the right length to convert to/from a
Solution - Solution
Item - One item in the solution
- Solution
Item Array - A raw Item array which may or may not be a well-formed
Solution