• 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
.changeset Loading commit data...
.github Loading commit data...
.husky Loading commit data...
.vscode Loading commit data...
examples Loading commit data...
go Loading commit data...
integration-tests Loading commit data...
l2geth Loading commit data...
ops Loading commit data...
packages Loading commit data...
patches Loading commit data...
specs Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.eslintrc.js Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.nvmrc Loading commit data...
.prettierrc.js Loading commit data...
.prettierrc.json Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
lerna.json Loading commit data...
package.json Loading commit data...
tsconfig.build.json Loading commit data...
tsconfig.json Loading commit data...
yarn.lock Loading commit data...