progpow / org.apache.tuweni.progpow / ProgPoW

ProgPoW

class ProgPoW (source)

Ethereum ProgPoW mining algorithm, based on revision 0.9.2. This implements the ProgPoW algorithm (https://github.com/ifdefelse/ProgPOW). This algorithm is licensed under CC0 1.0 Universal (CC0 1.0) Public Domain Dedication (https://creativecommons.org/publicdomain/zero/1.0/)

ImplSpec
https://github.com/ifdefelse/ProgPOW

Constructors

<init>

ProgPoW()

Ethereum ProgPoW mining algorithm, based on revision 0.9.2. This implements the ProgPoW algorithm (https://github.com/ifdefelse/ProgPOW). This algorithm is licensed under CC0 1.0 Universal (CC0 1.0) Public Domain Dedication (https://creativecommons.org/publicdomain/zero/1.0/)

Functions

createDagCache

static fun createDagCache(blockNumber: Long, datasetLookup: Function<Int, Bytes>): Array<UInt32>

Creates a cache for the DAG at a given block number

progPowHash

static fun progPowHash(blockNumber: Long, nonce: Long, header: Bytes32, dag: Array<UInt32>, dagLookupFunction: Function<Int, Bytes>): Bytes32

Creates a hash using the ProgPoW formulation of a block