Diff your Ethereum smart contracts code from GitHub against Etherscan verified source code.
This project was developed using these dependencies with their exact versions listed below:
- Python 3.10
- Poetry 1.4
Other versions may work as well but were not tested at all.
- Install Poetry
Use the following command to install poetry:
pip install --user poetry~=1.4alternatively, you could proceed with pipx:
pipx install poetry~=1.4- Activate poetry virtual environment,
poetry shell- Install Python dependencies
poetry installSet your Etherscan token to fetch verified source code,
export ETHERSCAN_TOKEN=<your-etherscan-token>Set your Github token to query API without strict rate limiting,
export GITHUB_API_TOKEN=<your-github-token>Create a config file
{
"contract": "0x...",
"network": "mainnet",
"github_repo": "https://github.com/user/repo/tree/ref",
"dependencies": {
"dep_name": "https://github.com/user/repo/tree/ref"
}
}Start the script
python3 main.py