mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-08 12:01:20 +00:00
e13a318e0b
* evm t8n tool to use ExecuteBlockEphemerally api (#4512) * fix to set V, R, S in legacy transaction * fix to dump post-execution alloc for evm t8n * close tx in evm t8n * populate current difficulty and gas used in output result - update the ExecutionResult to include corresponding info (like Difficulty/GasUsed) * initial attempt at migrating 'evm t8n' to use ExecuteBlockEphemerally * using ExecutionResult in ExecuteBlockEphemerally * bypass validations and integrate with EphemeralExecResult * fixing output of 'evm t8n' - remaining bits are "stateRoot" in results.txt and "balance" field for one account in alloc.txt (for testdata=1) * get ExecuteBlockEphemerally to accept getTracer lambda * fix build failure * test cases for evm t8n * more test cases for evm t8n * fix stateRoot computation in evm t8n * remove reward argument, as EBE itself takes care of it * final cleanups for migration to using ExecuteBlockEphemerally * change EBEforBSC to match EBE * fix linter issues * manually revert an unwanted diff * avoid calculating ReceiptHash twice * linter check * minor correction * remove unnecessary logic in EBEforBsc * fix integration tests * fix build
9 lines
499 B
Markdown
9 lines
499 B
Markdown
## Difficulty calculation
|
|
|
|
This test shows how the `evm t8n` can be used to calculate the (ethash) difficulty, if none is provided by the caller,
|
|
this time on `ArrowGlacier` (Eip 4345).
|
|
|
|
Calculating it (with an empty set of txs) using `ArrowGlacier` rules (and no provided unclehash for the parent block):
|
|
```
|
|
[user@work evm]$ ./evm t8n --input.alloc=./testdata/14/alloc.json --input.txs=./testdata/14/txs.json --input.env=./testdata/14/env.json --output.result=stdout --state.fork=ArrowGlacier
|
|
``` |