Skip to content

chains-project/geth-rebuild

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

geth-rebuild

A rebuilder for geth.

Reproduce and verify source-to-binary semantics of a geth binary artifact.

Usage

go build ./cmd/gethrebuild

./gethrebuild <os> <arch> <version>

For example, gethrebuild linux-amd64 1.14.3

See command documentation for optional arguments gethrebuild --help

Note

Must be run inside project directory 🩸

Cases of Unreproducibility

When reproducing an artifact, cases of non-determinism need to be controlled.

In .non-determinism/reports four cases found for geth are shown:

  • buildid: embedding of unreproducible build ids
  • date: conditional embedding of release date
  • path: embedding of absolute system paths
  • gcc: differing gcc versions using identical build settings

Reproduce these cases by running #TODO

Limitations

Supported os/arch pairs:

  • Linux

    • amd64 ✅
    • 386 ✅
    • arm5 ✅
    • arm6 ✅
    • arm7 ✅
    • arm64 ✅
  • Not supported currently

    • Darwin ❌
    • Windows ❌

About

A verifiable rebuilder for geth

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published