You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.
All blocks produced by ganache set the prevRandao header field to 0b100...00, with an option in evm_mine to set the value manually. The first bit is set to 1 so that EVM applications may test for Paris hardfork activation by checking that the PREVRANDAO value is greater than 2**64, as suggested in EIP-4399 (ctrl+f "The probability of RANDAO value").
Update the @ethereumjs/vm dependency to support Block.prevRandao, and update all invocations of the EVM to use the prevRandao value as appropriate, if the Paris hardfork is active. Note that this will require a major version bump from v5 to v6 -- I am not sure how much work this would be.
Caveat: although @ethereumjs/evm does advertise support for EIP-4399, it is currently marked as experimental (see their README)
The text was updated successfully, but these errors were encountered:
Current Situation
ganache
only supports up to thegrayGlacier
ethereum hardfork (seesrc/chains/ethereum/options/src/chain-options.ts:5
).However, the Paris hardfork (aka 'The Merge') has been active for several weeks now.
Critically, this makes for odd behavior regarding EIP-4399 "Supplant DIFFICULTY opcode with PREVRANDAO".
Proposal
I propose the following changes.
ganache
set theprevRandao
header field to0b100...00
, with an option inevm_mine
to set the value manually. The first bit is set to1
so that EVM applications may test for Paris hardfork activation by checking that thePREVRANDAO
value is greater than2**64
, as suggested in EIP-4399 (ctrl+f "The probability of RANDAO value").@ethereumjs/vm
dependency to supportBlock.prevRandao
, and update all invocations of the EVM to use theprevRandao
value as appropriate, if the Paris hardfork is active. Note that this will require a major version bump from v5 to v6 -- I am not sure how much work this would be.Caveat: although
@ethereumjs/evm
does advertise support for EIP-4399, it is currently marked as experimental (see their README)The text was updated successfully, but these errors were encountered: