This simple tool helps downloading and parsing Ethereum specs, to be later used for making sure that our reference comments match specs definitions precisely.
See main.go for a list of files to be downloaded, currently:
var specDirs = map[string][]string{
"specs/phase0": {
"beacon-chain.md",
"fork-choice.md",
"validator.md",
"weak-subjectivity.md",
},
"ssz": {
"merkle-proofs.md",
},
}To download/update specs:
bazel run //tools/specs-checker download -- --dir=$PWD/tools/specs-checker/dataThis will pull the files defined in specDirs, parse them (extract Python code snippets, discarding any other text),
and save them to the folder from which bazel run //tools/specs-checker check will be able to embed.
To check whether reference comments have the matching version of Python specs:
./specs-check check --dir $PWD/beacon-chain
./specs-check check --dir $PWD/validator
./specs-check check --dir $PWD/sharedForked from prysmaticlabs prysm develop-tools-specs-checker