• Mark Tyneway's avatar
    l2geth: make block hashes deterministic · 11d46182
    Mark Tyneway authored
    The blockhashes can be non deterministic because there is not a global
    consensus in the existing deployment of the optimism network, instead
    each node runs with `--dev 0` meaning that it auto mines transactions
    itself. Previously, block hashes were non deterministic due to a
    different clique signing key being used but that was fixed so that
    a deterministic key is used for all nodes.
    
    This fixes the possibility of the block extradata being different which
    would result in different block hashes. The extradata is hard coded
    to be the same value as the release @eth-optimism/l2geth@0.4.6. In
    version 0.4.7, the underlying Dockerfile pulled in a patch release of
    the Go runtime which caused the extradata field to become different.
    The extradata field by default is the version of the software (which
    cannot change until the next regenesis), "geth", the go runtime version
    and the operating system.
    
    This will require a resync to make block hashes deterministic across the
    network.
    11d46182
Name
Last commit
Last update
..
accounts Loading commit data...
build Loading commit data...
cmd Loading commit data...
common Loading commit data...
consensus Loading commit data...
console Loading commit data...
contracts/checkpointoracle Loading commit data...
core Loading commit data...
crypto Loading commit data...
diffdb Loading commit data...
docs/audits Loading commit data...
eth Loading commit data...
ethclient Loading commit data...
ethdb Loading commit data...
ethstats Loading commit data...
event Loading commit data...
graphql Loading commit data...
internal Loading commit data...
les Loading commit data...
light Loading commit data...
log Loading commit data...
metrics Loading commit data...
miner Loading commit data...
mobile Loading commit data...
node Loading commit data...
p2p Loading commit data...
params Loading commit data...
rlp Loading commit data...
rollup Loading commit data...
rpc Loading commit data...
scripts Loading commit data...
signer Loading commit data...
swarm Loading commit data...
tests Loading commit data...
trie Loading commit data...
whisper Loading commit data...
.golangci.yml Loading commit data...
.mailmap Loading commit data...
AUTHORS Loading commit data...
CHANGELOG.md Loading commit data...
COPYING Loading commit data...
COPYING.LESSER Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
fuzzbuzz.yaml Loading commit data...
go.mod Loading commit data...
go.sum Loading commit data...
interfaces.go Loading commit data...
package.json Loading commit data...