#prog-po-w #verification #mining #dag #math #verifier #ethereum

progpow_verifier

A Rust implementation of ProgPoW for Ethereum mining verification, based on go-ethereum

4 releases

0.2.0 Dec 1, 2024
0.1.2 Dec 1, 2024
0.1.1 Nov 30, 2024
0.1.0 Nov 30, 2024

#38 in #mining

Download history 237/week @ 2024-11-25 75/week @ 2024-12-02 5/week @ 2024-12-09

317 downloads per month

MIT license

26KB
387 lines

ProgPoW Verifier

ProgPoW Verifier is a Rust implementation of the ProgPoW (Proof-of-Work) algorithm for Ethereum mining verification. This library is based on the go-ethereum implementation of ProgPoW.

Features

  • Keccak-f800 hashing: Implements the Keccak-f800 permutation for short and long hashing.
  • ProgPoW loops: Supports DAG accesses and math operations as defined in the ProgPoW specification.
  • Lightweight random generation: Uses the KISS99 pseudo-random number generator for consistent results.
  • Verification focus: Suitable for validating ProgPoW computations.

Usage

Add this library to your Cargo.toml:

[dependencies]
progpow_verifier = "0.1.0"

lib.rs:

ProgPoW Verification Library

This library provides a Rust implementation of ProgPoW (Proof of Work for Ethereum).

Note

This implementation is based on the go-ethereum repository. Specifically, it replicates and validates the behavior of ProgPoW as implemented in go-ethereum.

Features

  • Keccak-f800 hashing functions
  • DAG access and caching
  • Math and memory mixing operations

Disclaimer

This library is intended for educational purposes or verification use cases. It may not be suitable for production mining.

Dependencies

~115KB