@ethereumjs/ethash / Ethash
• new Ethash(cacheDB?
)
Name | Type |
---|---|
cacheDB? |
DB <number , DBObject > |
• cache: Uint8Array
[]
• Optional
cacheDB: DB
<number
, DBObject
>
• Optional
cacheSize: number
• dbOpts: Object
• Optional
epoc: number
• Optional
fullSize: number
• Optional
seed: Uint8Array
▸ _verifyPOW(header
): Promise
<boolean
>
Name | Type |
---|---|
header |
BlockHeader |
Promise
<boolean
>
▸ cacheHash(): Uint8Array
Uint8Array
▸ calcDatasetItem(i
): Uint8Array
Name | Type |
---|---|
i |
number |
Uint8Array
▸ getMiner(mineObject
): Miner
Returns a Miner
object
To mine a BlockHeader
or Block
, use the one-liner await ethash.getMiner(block).mine(-1)
Name | Type | Description |
---|---|---|
mineObject |
BlockHeader | Block |
Object to mine on, either a BlockHeader or a Block |
▸ headerHash(rawHeader
): Uint8Array
Name | Type |
---|---|
rawHeader |
Uint8Array [] |
Uint8Array
▸ loadEpoc(number
): Promise
<void
>
Loads the seed and cache given a block number.
Name | Type |
---|---|
number |
bigint |
Promise
<void
>
▸ mkcache(cacheSize
, seed
): Uint8Array
[]
Name | Type |
---|---|
cacheSize |
number |
seed |
Uint8Array |
Uint8Array
[]
▸ run(val
, nonce
, fullSize?
): Object
Name | Type |
---|---|
val |
Uint8Array |
nonce |
Uint8Array |
fullSize? |
number |
Object
Name | Type |
---|---|
hash |
Uint8Array |
mix |
Uint8Array |
▸ verifyPOW(block
): Promise
<boolean
>
Name | Type |
---|---|
block |
Block |
Promise
<boolean
>