ethereumjs-monorepo

@ethereumjs/ethash


@ethereumjs/ethash / Ethash

Class: Ethash

Defined in: index.ts:160

Constructors

Constructor

new Ethash(cacheDB?): Ethash

Defined in: index.ts:169

Parameters

cacheDB?

DB<number, DBObject>

Returns

Ethash

Properties

cache

cache: Uint8Array<ArrayBufferLike>[]

Defined in: index.ts:163


cacheDB?

optional cacheDB: DB<number, DBObject>

Defined in: index.ts:162


cacheSize?

optional cacheSize: number

Defined in: index.ts:166


dbOpts

dbOpts: object

Defined in: index.ts:161


epoc?

optional epoc: number

Defined in: index.ts:164


fullSize?

optional fullSize: number

Defined in: index.ts:165


seed?

optional seed: Uint8Array<ArrayBufferLike>

Defined in: index.ts:167

Methods

_verifyPOW()

_verifyPOW(header): Promise<boolean>

Defined in: index.ts:369

Parameters

BlockHeader

Returns

Promise<boolean>


cacheHash()

cacheHash(): Uint8Array<ArrayBufferLike>

Defined in: index.ts:257

Returns

Uint8Array<ArrayBufferLike>


calcDatasetItem()

calcDatasetItem(i): Uint8Array

Defined in: index.ts:197

Parameters

i

number

Returns

Uint8Array


getMiner()

getMiner(mineObject): Miner

Defined in: index.ts:365

Returns a Miner object To mine a BlockHeader or Block, use the one-liner await ethash.getMiner(block).mine(-1)

Parameters

mineObject

Object to mine on, either a BlockHeader or a Block

BlockHeader Block

Returns

Miner


headerHash()

headerHash(rawHeader): Uint8Array<ArrayBufferLike>

Defined in: index.ts:272

Parameters

rawHeader

Uint8Array<ArrayBufferLike>[]

Returns

Uint8Array<ArrayBufferLike>


loadEpoc()

loadEpoc(number): Promise<void>

Defined in: index.ts:279

Loads the seed and cache given a block number.

Parameters

number

bigint

Returns

Promise<void>


mkcache()

mkcache(cacheSize, seed): Uint8Array<ArrayBufferLike>[]

Defined in: index.ts:177

Parameters

cacheSize

number

seed

Uint8Array

Returns

Uint8Array<ArrayBufferLike>[]


run()

run(val, nonce, fullSize?): object

Defined in: index.ts:211

Parameters

val

Uint8Array

nonce

Uint8Array

fullSize?

number

Returns

object

hash

hash: Uint8Array<ArrayBufferLike>

mix

mix: Uint8Array<ArrayBuffer> = cmix


verifyPOW()

verifyPOW(block): Promise<boolean>

Defined in: index.ts:379

Parameters

block

Block

Returns

Promise<boolean>