go-ethereum/cmd/evm/testdata/19
Martin Holst Swende 32150f8aa9
cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (#23810)
This PR adds support for ArrowGlacier, as defined by

    https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/arrow-glacier.md
    https://eips.ethereum.org/EIPS/eip-4345

> Starting with FORK_BLOCK_NUMBER the client will calculate the difficulty based on a fake block number suggesting to the client that the difficulty bomb is adjusting 10,700,000 blocks later than the actual block number.

This also adds support for evm t8n to return the calculated difficulty, so it can be used to construct test.
2021-10-28 22:18:14 +02:00
..
alloc.json cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (#23810) 2021-10-28 22:18:14 +02:00
env.json cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (#23810) 2021-10-28 22:18:14 +02:00
exp_arrowglacier.json cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (#23810) 2021-10-28 22:18:14 +02:00
exp_london.json cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (#23810) 2021-10-28 22:18:14 +02:00
readme.md cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (#23810) 2021-10-28 22:18:14 +02:00
txs.json cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (#23810) 2021-10-28 22:18:14 +02:00

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