EthCheck is a command-line tool for testing and verifying the Ethereum Consensus Specification using the ESBMC model checker. EthCheck includes:
- Verification of individual functions across all available forks;
- Automatic generation of test cases for each detected issue;
- Execution of these tests against eth2spec to confirm results;
The figure bellow illustrates the EthCheck architecture.
EthCheck is currently supported on Linux.
sudo apt update
sudo apt install -y python3-venv python3-pip git-lfs
pip install eth2spec
pip install ethcheck
Important: Ensure the virtual environment is active by running the command below:
python3 -m venv ethcheck_env
source ethcheck_env/bin/activate
The terminal should display <ethcheck_env> if the environment is active.
ethcheck --file ethcheck/spec.py
ethcheck --list-forks
ethcheck --fork <fork-name>