This repository contains a reproducible Python research pipeline for Sections 3, 4, and 5 of the project outline:
- Dataset and Data Collection
- Methodology
- Results
The pipeline analyzes public ERC-20 transfer records related to the ANKH token and associated WETH, with cautious academic framing. It is designed to work without live API access by falling back to fixture data.
- Create a virtual environment with Python 3.11+.
- Install the project:
pip install -e .[dev]- Optionally copy
.env.exampleto.envand setETHERSCAN_API_KEY. - Run the full fixture-backed pipeline:
make allpython scripts/01_collect_data.py --config config/config.yaml
python scripts/02_preprocess.py --config config/config.yaml
python scripts/03_run_statistics.py --config config/config.yaml
python scripts/04_run_graph_analysis.py --config config/config.yaml
python scripts/05_make_figures.py --config config/config.yaml
python scripts/06_write_results_section.py --config config/config.yaml
python scripts/07_run_qa.py --config config/config.yaml
python scripts/08_run_temporal.py --config config/config.yaml # Phase 2: minute-level burst analysis
python scripts/09_run_community.py --config config/config.yaml # Phase 2: Louvain community detection
python scripts/10_run_paths.py --config config/config.yaml # Phase 2: N-hop cash-out path analysis
pytest- Live collection uses the Etherscan V2 API when
ETHERSCAN_API_KEYis available. - If live collection is unavailable, fixture data is copied into
data/raw/and the limitation is documented in QA outputs. - Estimated holder balances in this project are transfer-derived estimates, not guaranteed exact wallet balances.